正则表达式匹配不包含某些字符串的技巧
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含‘h',‘e',‘d'三个但字符。那什么样的正则表达式能过滤出不包含完整“hello”字串的信息呢?
事实上,说正则表达式里不支持逆向匹配并不是百分之百的正确。就像这个问题,我们就可以使用否定式查找来模拟出逆向匹配,从而解决我们的问题:
复制代码 代码如下:^(("" src="/UploadFiles/2021-04-02/201472291350127.jpeg">
所有的e编号的位置都是空字符。表达式("codetitle">复制代码 代码如下:(("ABhedeCD"的结果false,因为在e3位置,("hede"字符串,也就是包含了指定的字符串。
在正则表达式里, "codetitle">复制代码 代码如下:
^("codetitle">复制代码 代码如下:
^("codetitle">复制代码 代码如下:
^("color: #800000">PS:关于正则,本站还提供了2款非常简便实用的正则测试工具供大家使用:
JavaScript正则表达式在线测试工具: 正则表达式在线生成工具:
http://tools.jb51.net/regex/javascript
http://tools.jb51.net/regex/create_reg
下一篇:正则替换换行符和把 br 替换成换行符