PHP正则表达式:如何匹配两个标签之间的内容且排除包含中文冒号的字符串?

php正则表达式:如何匹配两个标签之间的内容且排除包含中文冒号的字符串?

php正则如何匹配除中文加冒号外的字符串?

在php中,如何使用正则表达式匹配两个

标签之间的内容,但排除包含中文加冒号(:)格式的字符串呢?

示例:

要匹配的字符串:

立即学习“PHP免费学习笔记(深入)”;

我是张三分张无忌: 你真的是张三分?

问题:

使用正则表达式/

. ?匹配会匹配到中文加冒号,而 /[^(x{4e00}-x{9fa5}[::])] }无法正常匹配。

解决方案:

使用preg_match_all函数和否定前瞻断言:

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

其中:

/u修饰符启用unicode编码。(?!.*[x{4e00}-x{9fa5}:])否定前瞻断言意味着该模式仅匹配后面没有中文加冒号的字符串。

以上就是PHP正则表达式:如何匹配两个标签之间的内容且排除包含中文冒号的字符串?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1251554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 23:14:44
下一篇 2025年12月9日 23:14:49

相关推荐

发表回复

登录后才能评论
关注微信