广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    MATLAB如何将字符串/通配符翻译为正则表达式?

    来源:网络收集  点击:  时间:2024-05-18
    【导读】:
    介绍MATLAB中的regexptranslate函数,该函数可以将含有很多符号(?.\等)的字符串按照字面翻译为等价的正则表达式,也可以将搜索文件常用的通配符(*.exe file.???)翻译为正则表达式。工具/原料moreMATLAB R2016a方法/步骤1/5分步阅读

    在我们使用正则表达式中,有时要按照正则表达式语法手动翻译一些字符串,非常繁琐而且手动非常不便,比如,我们想匹配fire\team\nice这个字符串,却不能直接传入regexp函数,因为其中有正则表达式转义字符\t和\n,会被视为tab和换行。

    我们直接使用regexptranslate函数翻译,得到fire\\team\\nice,这个表达式就是原字符串等价的正则表达式。

    2/5

    regexptranslate函数有两种模式,步骤1说的是第一种escape模式。

    这种模式下,将字符串按照字面意思翻译。

    如图,翻译一个字符串,其中的字符$?()这些,都被转义。

    3/5

    如下是使用这种模式翻译字符串的一个简单示例。

    我们要从一段长长的对话中匹配出两句,将这两句翻译为正则表达式再匹配,得到匹配结果。

    4/5

    regexptranslate函数的第二种模式是wildcard模式。这种模式用于转换通配符。通配符常见于搜索文件时使用,比如*.exe搜索exe文件,????.jpg可以搜索到文件名为四个字符的jpg文件。

    regexptranslate函数可以把通配符翻译成具有同样匹配功能的正则表达式。如图。

    5/5

    如下图,是一个用正则表达式匹配文件名的例子。

    请注意这里启用了dotexceptnewline选项,来防止.匹配时通过换行符。

    注意事项

    通配符的应用场景可能和正则表达式不一样,正则表达式要结合字符串的编写方式去写。

    如果要匹配文件名,还需要用正则表达式去掉文件名非法字符,比如\。

    MATLAB
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_798330.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 18:24:47  耗时:0.024
    0.0236s