当谈到正则表达式时,我只是一个菜鸟。我知道Perl在regexp上很棒,我不太了解Perl。最近开始学习JavaScript并且遇到了正则表达式 验证用户输入......没有太多使用它们。
JavaScript regexp与Perl regexp相比如何?异同?
是否可以在Perl中使用所有用JS编写的regexp,反之亦然?
类似的语法?
答案 0 :(得分:26)
从ECMAScript 2018开始,许多JavaScript的正则表达式缺陷已得到修复。
还缺少什么:
++
/ *+
/ ?+
或原子组(?>...)
)来阻止回溯。除此之外,两种风格的基本正则表达式语法非常相似。
答案 1 :(得分:8)
此comparison
将回答您的所有疑问。
答案 2 :(得分:5)
另一个区别:在JavaScript中,没有s
修饰符:点“。”将永远不会匹配换行符。作为“。”的替代,可以在JavaScript中使用字符类[\s\S]
,它将像Perl中的/./s
一样工作。
答案 3 :(得分:0)
我刚碰到一个实例,在某些版本的JavaScript中无法识别\ d,十进制 - 你必须使用[0-9]。