正则表达式:两个条件

时间:2016-04-28 09:47:57

标签: regex

我有一个包含多行的csv文件。

我希望获得包含;F;;A;但不包含;REPORTING;的行。

  
      
  1. 123456 ;;;;; 75 ;;;; A; 18; -83; -7; 19 ;;
  2.   
  3. 654321; 52 ;;;;;;;; F; 8; -3; 7; 489 ;;
  4.   
  5. 123456 ;;;;;; 573 ;;;; 1858; -88963; -746; 1549 ;;
  6.   
  7. 123456 ;; 523 ;;; REPORTING; fd3574 ;;; A; 183001; -86583; -457; 19211 ;;
  8.   

我想获得第1行和第2行,但不是第3行和第4行......

我试过了:

;(?!REPORTING);.*;(F|A);

但没有成功......

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这将有效

classdef idx < matlab.mixin.CustomDisplay
    properties
        filename
    end

    properties(SetAccess=private)
        dimensions
        datatype
        size 
    end

% ...

    methods(Access=protected)
        function propgrp = getPropertyGroups(app)
            if ~isscalar(app)
                propgrp = ... 
                    getPropertyGroups@matlab.mixin.CustomDisplay(app);
            else
                sizestr = ...
                    sprintf('%s (%d)', app.datatypenum2str(app.datatype), app.datatype);
                propList = struct(...
                    'dimensions',app.dimensions,...
                    'datatype', sizestr, ...
                    'size',app.size);
                propgrp = matlab.mixin.util.PropertyGroup(propList);
            end
        end
    end

end

<强> Regex Demo