代码之家  ›  专栏  ›  技术社区  ›  AMahajan

正则表达式应该是什么来匹配角度ui网格中的空白单元格?

  •  0
  • AMahajan  · 技术社区  · 7 年前

    我有一个有角度的ui网格,其中有一列“note”,可以是空白的,也可以是非空白的。我试图创建一个自定义过滤器来过滤空白和非空白。我无法滤除栏中的空白。该列可能包含null、未定义或“”。所有这些在ui网格中显示为空白。 注释列如下:

    {
          displayName: 'Note',
          enableSorting:true,
          enableFiltering: true,
          enableCellEdit: false,
          width: '10%',
          field: 'note',
          visible: false,
          filterHeaderTemplate: '<div class="ui-grid-filter-container" ng-repeat=\
          "colFilter in col.filters"><div my-custom-dropdown2></div></div>',
          filter: {
            options: ['Blanks','Non-blanks']     // custom attribute that goes with custom directive above
          } 
    
    .directive('myCustomDropdown2', function() {
      return {
        template: '<select class="form-control" ng-model="colFilter.term" ng-change="filterNotes(colFilter.term)" ng-options="option for option in colFilter.options"></select>',
        controller:'NoteController'
      };
    })
    
    .controller('NoteController',function($scope, $compile, $timeout){
      $scope.filterNotes = function(input){
        var field = $scope.col.field;
        var notes = _.pluck($scope.col.grid.options.data,field);
        $scope.colFilter.listTerm = [];
        var temp = notes.filter(function(val){if(val && val!=''){return val}});
        $scope.colFilter.listTerm = temp;
        $scope.colFilter.term = input;
        if(input=='Blanks'){
          $scope.colFilter.condition = new RegExp("[\\b]");
        }
        else{
          //for Non-blanks
          $scope.colFilter.condition = new RegExp($scope.colFilter.listTerm.join('|'));
        }
        console.log("$scope.colFilter.condition",$scope.colFilter.condition);
        // console.log("temp",temp);
      }
    })
    

    我已经试过了 this

    1 回复  |  直到 7 年前
        1
  •  2
  •   Paweł    7 年前

    使用 /^(\s)*$/g .

    \s 元字符匹配字符串中的空白字符。 相当于 [ \f\n\r\t\v\u00a0\u1680\u180e\u2000\u200a\u2028\u2029\u202f\u205f\u3000\ufeff] ,因此它包括空格、制表符、换行符等。

    这个 ^n n

    这个 n$ 量词匹配任何字符组合 n

    所以如果你使用 /^\s$/

    这个 n* n

    所以如果你使用 /^(\s)*$/ 您希望字符串应该是空的,或者包含任意数量的空格(但不包含其他内容)。

    我做了 regexp tutorial

    编辑: g 所以你可以使用 .