详解正则表达式后面不要包含指定的字符串内容

1405
2023/8/18 13:18:30
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在正则表达式中,可以使用负向前瞻(negative lookahead)来实现后面不包含指定字符串内容的匹配。

负向前瞻使用 (?!pattern) 的形式,其中 pattern 是要排除的字符串内容。具体的用法如下:

  1. 匹配不包含指定字符串的任意字符:
^(?!.*pattern).*

这个正则表达式会匹配任意字符,但是排除了包含 pattern 的字符串。

  1. 匹配不包含指定字符串的单词:
\b(?!pattern\b)\w+\b

这个正则表达式会匹配不包含以 pattern 结尾的单词。

  1. 匹配不包含指定字符串的整个单词:
\b(?!.*pattern\b)\w+\b

这个正则表达式会匹配整个字符串中,不包含以 pattern 结尾的单词。

需要注意的是,负向前瞻只是检查后面的内容是否满足条件,并不会消耗输入字符串。因此,如果需要匹配整个字符串,需要在正则表达式的开头加上 ^,在结尾加上 $

以上是使用负向前瞻来实现后面不包含指定字符串内容的方法。根据具体的匹配需求,可能需要进行一些调整。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 正则表达式纯数字怎么写