在角UI-GRID中匹配空白细胞的正则表达应是什么



我有一个角UI-Grid,其中我的列'note'可以是空白或非蓝色的。我正在尝试创建一个自定义过滤器来过滤空白和非空白。我无法过滤列中的空白。该列可能包含空,未定义或"。所有这些在UI Grid中显示为空白。注意列下面:

{
      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);
  }
})

我尝试了这个问题中给出的溶剂蛋白等等。没有什么可用。我应该如何创建正则匹配以匹配空白单元格?

使用/^(s)*$/g

s Metacharacter与字符串中的白空间字符匹配。s等效于[ fnrtvu00a0u1680u180eu2000u200au2028u2029u202fu205fu3000ufeff],因此覆盖了白色空间,标签,线路休息等。

^n量化器匹配字符串开头的任何字符n

n$量词匹配字符串末端的任何字符n

因此,如果您使用/^s$/,则希望该字符串仅包含一个白色空间。

n*量词匹配包含0或多个n表达式发生的任何字符组合。

因此,如果您使用/^(s)*$/,则希望字符串应该为空,或包含任何数量的白色空间(但没有其他)。

我为我的投资组合制作了REGEXP教程,因此您可以在那里使用大量默认值或您自己的RegexP示例和文本样本进行实验。

编辑:g标志似乎在这里是不必要的,我很着急写信。因此您可以使用/^(s)*$/

最新更新