MATLAB正则表达式⑨:搜索选项(Search Flags)

  • 原创
  • |
  • 浏览:835
  • |
  • 更新:
  • |
  • 标签:MATLAB 

介绍MATLAB中正则表达式的搜索选项,包括(?-i),(?i),(?s),(?-s),(?-m),(?m),(?-x),(?x)

在MATLAB中,搜索选项也可以作为函数参数传入。比如匹配正则表达式的函数regexp就支持多个参数,这些参数与搜索选项对应。

工具/原料

  • MATLAB R2016a

方法/步骤

  1. 1

    搜索选项有两种用法,第一种是用在整个表达式的最前,影响整个表达式。

    (?-i)和(?i)是控制大小写是否敏感的选项。(?-i)表示大小写要匹配,(?i)忽略大小写。用法如图。

    MATLAB正则表达式⑨:搜索选项(Search Flags)
  2. 2

    搜索选项用法的第二种,是只作用与部分表达式。写在一个括号中并加':'。

    比如(?i:world)表示仅对'world'这个部分忽略大小写。(?-:hello)表示对于'hello'严格匹配大小写。

    MATLAB正则表达式⑨:搜索选项(Search Flags)
  3. 3

    (?s)和(?-s)是控制点字符'.'是否可以匹配换行符。前者表示可以。

    如图,用'(?s).*'匹配文本,'.*'越过了换行符匹配了全部文本;

    用'(?-s).*'匹配文本,'.*'无法通过换行符,每行成了一个匹配。

    MATLAB正则表达式⑨:搜索选项(Search Flags)
  4. 3
    该信息未经许可获取自百度经验
  5. 4

    (?-m)和(?m)控制'^'和'$'的功能。

    (?-m)表示,将'^'和'$'视作整个字符串的开始和结束的定位点;

    (?m)表示,将'^'和'$'视作每一行文本的开始和结束的定位点。

    MATLAB正则表达式⑨:搜索选项(Search Flags)
  6. 5

    (?-x)和(?x)控制空格和'#'的匹配方式。

    (?-x)表示,将正则表达式中的空格和'#'都照着匹配。

    (?x)表示,忽略正则表达式中的空格和'#',如果要匹配它们需要写作'\ '和'\#'

    MATLAB正则表达式⑨:搜索选项(Search Flags)
    END

注意事项

  • 在MATLAB中,搜索选项如果作用于整个表达式的话,可以写在函数参数里。详见regexp函数的opinion.
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签MATLAB