我有一个自己创建的正则表达式,我目前正在 PHP 中运行。虽然当我将它合并到 JavaScript 时,它拒绝工作。我也在 Python 中尝试过,它运行得非常好。
正则表达式:
@[[](.[^]]+)[]][()](\d+)[)]
最佳答案
JavaScript 不会自动转义您的 ]
。
这将帮助您获得直观的想法:
PCRE:
JS:
python :
所以要解决这个问题,你需要转义括号
@[[](.[^\]]+)[\]][()](\d+)[)]
// ^ ^
编写此正则表达式的最佳方法是尽量减少字符类的使用:
@\[(.[^\]]+)\][()](\d+)\)
这就是为什么最好避开这些东西而不是依赖怪癖。
我通过 regex101 生成了这些图像.
关于javascript - 为什么我的正则表达式在 PHP 中有效,但在 JavaScript 中无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32030834/