网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

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

时间:2024-10-13 06:00:16

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正则表达式⑤:先行断言与后行断言
© 2026 阿力知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com