网络编程 
首页 > 网络编程 > 浏览文章

正则表达式匹配不包含某些字符串的技巧

(编辑:jimmy 日期: 2024/10/10 浏览: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

上一篇:匹配form表单中所有内容的正则表达式
下一篇:正则替换换行符和把 br 替换成换行符
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。