
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)
打赏
微信扫一扫
支付宝扫一扫
PHP中如何将逗号分隔字符串转换为HTML div标签?
上一篇
2025年12月9日 23:14:44
如何将 JavaScript 中 div 的内容传递给 PHP 变量?
下一篇
2025年12月9日 23:14:49
微信扫一扫
支付宝扫一扫