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

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

正则表达式:

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

Testing in PHP,and working

Testing in JavaScript,and not working

JavaScript不会自动退出你的].

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

PCRE:

JS:

蟒蛇:

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

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

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

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

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

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

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...