正向前瞻断言和负向前瞻断言

举报
神的孩子在歌唱 发表于 2024/10/26 15:37:35 2024/10/26
【摘要】 正则的正向前瞻断言和负向前瞻断言这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。作者:神的孩子都在歌唱正向前瞻断言和负向前瞻断言是正则表达式中用于检查后续字符的两种零宽断言。它们的主要区别在于条件满足时是否匹配成功。一. 正向前瞻断言正向前瞻断言用于检查某一位置之后的字符是否符合特定模式。如果符合条件,则匹配成功;如果不符合条件,则匹配失败。正向前瞻断言的语法是 ...

正则的正向前瞻断言和负向前瞻断言


这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。

作者:神的孩子都在歌唱

正向前瞻断言和负向前瞻断言是正则表达式中用于检查后续字符的两种零宽断言。它们的主要区别在于条件满足时是否匹配成功。

一. 正向前瞻断言

正向前瞻断言用于检查某一位置之后的字符是否符合特定模式。如果符合条件,则匹配成功;如果不符合条件,则匹配失败。正向前瞻断言的语法是 (?=...)

示例

正则表达式 abc(?=123)

  • abc: 匹配字符串 "abc"

  • (?=123): 正向前瞻断言,检查后面是否是 "123"

在字符串 "abc123" 中,"abc" 后面确实是 "123",因此匹配成功。

在字符串 "abc456" 中,"abc" 后面不是 "123",因此匹配失败。

image-20240923161858430

二. 负向前瞻断言

负向前瞻断言用于检查某一位置之后的字符是否不符合特定模式。如果不符合条件,则匹配成功;如果符合条件,则匹配失败。负向前瞻断言的语法是 (?!...)

示例

正则表达式 abc(?!123)

  • abc: 匹配字符串 "abc"

  • (?!123): 负向前瞻断言,检查后面是否不是 "123"

在字符串 "abc123" 中,"abc" 后面是 "123",因此匹配失败。

在字符串 "abc456" 中,"abc" 后面是 456,因此匹配成功。

image-20240923162809859

三. 总结

  • 正向前瞻断言 (?=...):用于确保某一位置之后的字符符合特定模式。

  • 负向前瞻断言 (?!...):用于确保某一位置之后的字符不符合特定模式。



作者:神的孩子都在歌唱

本人博客:https://blog.csdn.net/weixin_46654114

转载说明:务必注明来源,附带本人博客连接。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。