微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的正则表达式在PHP中工作但不是JavaScript?

我有一个自己创建的正则表达式,我正在PHP中运行.虽然当我将它合并到JavaScript时,它拒绝工作.我也在Python中尝试过,它的工作完全正常.

正则表达式:

@[[](.[^]]+)[]][()](\d+)[)]

Testing in PHP,and working

Testing in JavaScript,and not working

JavaScript不会自动退出你的].

这将有助于您获得视觉观念:

PCRE:

JS:

蟒蛇:

所以要解决这个问题,你需要摆脱括号

@[[](.[^\]]+)[\]][()](\d+)[)]
//      ^     ^

编写这个正则表达式的最好方法是最小化字符类的使用:

@\[(.[^\]]+)\][()](\d+)\)

这就是为避免这种东西而不是依靠怪癖的好习惯.

我通过regex101生成了这些图像.

原文地址:https://www.jb51.cc/regex/357197.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐