PHP正则表达式:如何排除包含中文加冒号的字符串匹配?(冒号.字符串.中文.匹配.排除...)

wufei1232025-01-16PHP6

php正则表达式:如何排除包含中文加冒号的字符串匹配?

php正则匹配:如何排除中文加冒号格式

在编写正则表达式时,有时我们希望排除特定格式的字符串。比如,要匹配两个td之间的内容,但td之间不能包含中文加冒号,即不匹配"张无忌: 你真的是张三分?"。

一个直观的写法是/

. /,但它会匹配到中文加冒号。而使用 /[^(x{4e00}-x{9fa5}[::])] / 却不起作用。

正确的方法是:

preg_match_all('/<td>(?!.*[x{4e00}-x{9fa5}:]).*</td>/u', $input, $matches);

这个正则表达式使用负向前瞻(?!.*[x{4e00}-x{9fa5}:])来排除包含中文加冒号的字符串。它表明,在匹配的字符串前不能有任何地方包含中文加冒号。

使用这个正则表达式,你可以准确地匹配两个td之间的内容,排除包含中文加冒号的字符串。

以上就是PHP正则表达式:如何排除包含中文加冒号的字符串匹配?的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。