当谈到正则表达式时,我只是一个新手。我知道Perl在正则表达式方面很棒,但我对Perl不太了解。最近开始学习JavaScript并接触用于验证用户输入的正则表达式......还没有多少使用经验。
JavaScript的正则表达式与Perl的正则表达式相比如何?有哪些相似之处和区别?
所有在JS中编写的正则表达式都可以在Perl中使用,反之亦然吗?
语法是否相似?
当谈到正则表达式时,我只是一个新手。我知道Perl在正则表达式方面很棒,但我对Perl不太了解。最近开始学习JavaScript并接触用于验证用户输入的正则表达式......还没有多少使用经验。
JavaScript的正则表达式与Perl的正则表达式相比如何?有哪些相似之处和区别?
所有在JS中编写的正则表达式都可以在Perl中使用,反之亦然吗?
语法是否相似?
从ECMAScript 2018开始,许多JavaScript正则表达式的缺陷已经得到修复。
/s
)标志。仍然缺少什么:
++
/*+
/?+
或原子组(?>...)
来防止回溯以使匹配最终的方法。除此之外,基本的正则表达式语法在两种风格中非常相似。
比较
将回答你所有的问题。+
的“贪婪量词”,以及一些与回溯控制和递归下降解析相关的其他内容,这些内容在该比较中并未涉及。 - hobbs另一个不同之处:在JavaScript中,没有s
修饰符:点"."将永远不会匹配换行符。作为"."的替代,字符类[\s\S]
可以在JavaScript中使用,它将像Perl中的/./s
一样工作。
[^]
。 - resgh s
修饰符已在 ECMAScript 2018 中添加。 - Jakob