MATLAB正则表达式⑤:先行断言与后行断言

 时间:2026-02-15 02:34:33

1、通过后行断言expr(?=test),expr后面匹配test成功的情况下,认为expr的匹配有效。

匹配结果只包含expr部分。如图匹配以ing结尾的单词的本体部分。

MATLAB正则表达式⑤:先行断言与后行断言

2、通过后行断言expr(?!test),expr后面无法匹配到test的情况下,认为expr的匹配有效。

匹配结果只包含expr部分,如图,x(?!\d\d)匹配后面不跟着两位数字的小写字母x。x86和x64中的x不会被匹配,xcode中的x符合要求。

MATLAB正则表达式⑤:先行断言与后行断言

3、通过先行断言(?<=test)expr,当expr的前面能匹配到test的情况下,认为expr的匹配有效。

匹配结果只包含expr部分。如图,匹配以're'开头的单词的剩余部分。

MATLAB正则表达式⑤:先行断言与后行断言

4、通过先行断言(?<!test)expr,当expr的前面无法匹配到test的情况下,认为expr的匹配有效。

匹配结果只包含expr部分。如图,通过先行断言和后行断言,匹配前后都无数字字符的单个数字。

MATLAB正则表达式⑤:先行断言与后行断言

5、断言(assertion)也可以与定位点(anchor)配合使用,如图,通过定位点'\<'定位单词的开始,通过断言(?!\d)过滤以数字开头的单词,\w+匹配到的就类似一些程序语言中的合法变量名。

MATLAB正则表达式⑤:先行断言与后行断言

6、先行断言后面不一定要有expr,后行断言前面也不一定要有expr,先行和后行重点在于测试匹配的方向。先行断言向前测试,后行断言向后测试。

如图,通过(?=b)w{4}(?<=y)匹配四个连续单词字符,限制其中第一个是b,最后一个是y。

MATLAB正则表达式⑤:先行断言与后行断言

  • 如何解决Qt5.10安卓编译套件缺失问题?
  • visual studio怎么更改framework
  • apache 启动httpd.exe 报错
  • 树莓派怎么设置显示中文支持
  • Python编程:怎么使用os.system()执行cmd命令
  • 热门搜索
    柿子椒的做法大全 4399儿歌故事大全 熊出没歌曲大全 打印机怎么连接到电脑 结婚祝词大全 青岛旅游景点介绍大全 网络推广怎么 满背纹身图案大全 香港电影大全 小学作文大全300字