MATLAB如何匹配正则表达式?

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

介绍MATLAB中的regexp和regexpi这两个函数。它们可以对字符串进行正则表达式匹配。

工具/原料

  • MATLAB R2016a

方法/步骤

  1. 1

    regexp最简单的用法是regexp(待匹配字符串,正则表达式)

    返回列表是匹配到的序列起始位置。

    MATLAB如何匹配正则表达式?
  2. 2

    regexp使用最简用法时,也可以有两个返回列表,一个是起始位置列表,另一个是结束位置列表。

    根据这两个列表可以取出匹配的子串,如图。

    MATLAB如何匹配正则表达式?
  3. 2
    此文章非法爬取自百度经验
  4. 3

    regexp的输入字符串也可以是多个字符串组成的元胞数组,返回结果都变成同尺寸的元胞数组。

    MATLAB如何匹配正则表达式?
  5. 4

    下面说regexp更详细的用法。regexp可以通过第三个参数指定返回值类型。

    如图,通过指定为'match'返回匹配子串列表。

    MATLAB如何匹配正则表达式?
  6. 5

    返回值类型还可以指定为'split',此时将按照匹配的子串分割字符串,返回分割结果。

    返回值类型还有很多:'start'/'end'/'tokenExtends'/'match'/'tokens'/'names'/'split',此处不再详细讲解。

    MATLAB如何匹配正则表达式?
  7. 6

    regexp函数可以指定多个返回值类型,返回多个返回值。如图,一次返回'tokens'和'match',即匹配到的标记列表和匹配子串列表。

    MATLAB如何匹配正则表达式?
  8. 7

    regexp还可以带有选项,如图,使用选项'ignorecase'来忽略大小写。

    选项有很多:'once'/'warnings'/'ignorecase'/'emptymatch'/'dotexceptnewline'/'lineanchors'/'freespacing',此处不再详细介绍。

    MATLAB如何匹配正则表达式?
  9. 8

    regexpi和regexp的区别就是,前者默认不区分大小写。(和后者使用'ignorecase'选项效果相同)

    MATLAB如何匹配正则表达式?
    END

注意事项

  • 正则表达式语法内容太多,超出本经验范围。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签MATLAB