Javascript正则表达式与Perl正则表达式相比 [英] Javascript regex compared to Perl regex

查看:197
本文介绍了Javascript正则表达式与Perl正则表达式相比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当谈到正则表达式时,我只是一个菜鸟。我知道Perl在regexp上很棒,我不太了解Perl。最近开始学习JavaScript并且遇到了正则表达式,用于
验证用户输入...没有太多使用它们。

I'm just a noob when it comes to regexp. I know Perl is amazing with regexp and I don't know much Perl. Recently started learning JavaScript and came across regex for validating user inputs... haven't used them much.

JavaScript regexp与Perl regexp相比如何?相同点和不同点?

用JS编写的所有regexp都可以在Perl中使用,反之亦然吗?

类似的语法?

How does JavaScript regexp compare with Perl regexp? Similarities and differences?
Can all regexp(s) written in JS be used in Perl and vice-versa?
Similar syntax?

推荐答案

从ECMAScript 2018开始,许多JavaScript的正则表达式缺陷已得到修复。

From ECMAScript 2018 onwards, many of JavaScript's regex deficiencies have been fixed.

  • It now supports lookbehind assertions, even unbounded ones.
  • Unicode property escapes have been added.
  • There finally is a DOTALL (/s) flag.

仍然缺少什么:


  • JavaScript没有办法通过最终匹配来防止回溯(使用所有格量词 ++ / * + / ?+ 或原子组(?> ; ...))。

  • 不支持递归/平衡子组匹配。

  • 另一个(化妆品)事情是JavaScript不知道冗长的正则表达式,这可能使它们更难阅读。

  • JavaScript doesn't have a way to prevent backtracking by making matches final (using possessive quantifiers ++/*+/?+ or atomic groups (?>...)).
  • Recursive/balanced subgroup matching is not supported.
  • One other (cosmetic) thing is that JavaScript doesn't know verbose regexes, which might make them harder to read.

除此之外,基本的正则表达式语法两种口味非常相似。

Other than that, the basic regex syntax is very similar in both flavors.

这篇关于Javascript正则表达式与Perl正则表达式相比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆