我们经常会遇到想找出不包含某个字符串的文本,比如我要匹配不含有20211229 和 20211230的字符串。

正则表达式中有(?=a)和(?!a)来表示我们是否需要匹配某个东西。

所以,有需要不匹配某样内容时,就可以用(?!a)了。比如要匹配不含20211229的字符串就可以这样写。

/^(?!.*20211229)/

具体说明一下:

这里.*用来表示20211229之前可能有其他的字符,为什么还要加^呢,因为如果不加的话,可能匹配到2之后的这个位置上了。

本次需求的解决代码如下

/^(?!.*(20211229)|(20211230))/

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐