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

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

(编辑: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

上一篇:匹配form表单中所有内容的正则表达式
下一篇:正则替换换行符和把 br 替换成换行符
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。