懒惰的 ?在正则表达式中

用户名

有人可以说明一下以下正则表达式有什么区别吗?

/b\w+?/g

/b\w/g

基于regexr for Lazy的文档:使前面的量词变得懒惰,使其匹配尽可能少的字符。默认情况下,量词是贪婪的,并且将匹配尽可能多的字符。

Pietzcker团队

两个正则表达式将匹配相同的内容(一个“字母数字”字符)。只有当正则表达式变得更复杂时,它们之间的差异才变得明显。

例如,

\b\w\.

将匹配,"A."但不匹配"Mr."因为\w仅匹配一个字符。

\b\w+?\.

将两者都匹配。这与懒惰无关,但与第一个正则表达式中缺少量词有关。但是如果你比较

\b\w+\d

\b\w+?\d

您会注意到一个重要的区别:两个正则表达式将以"R2D2"不同的方式匹配字符串-第一个匹配"R2D2",第二个仅匹配,"R2"因为?Tell告诉\w+令牌匹配的字符越少越好,因此它会在匹配结束后停止匹配R(即使它可以更多匹配。只有在正则表达式不匹配时,它才会匹配更多)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不懂懒惰的正则表达式

来自分类Dev

正则表达式懒惰重复

来自分类Dev

正则表达式引擎规则。正则表达式的贪婪,渴望和懒惰

来自分类Dev

关于问号“懒惰”模式的正则表达式

来自分类Dev

懒惰和贪婪的正则表达式

来自分类Dev

如何使正则表达式部分“向后懒惰”?

来自分类Dev

懒惰的正则表达式运算符在bash中不起作用

来自分类Dev

我的正则表达式既懒惰又贪婪。为什么?

来自分类Dev

Tcl /期望正则表达式-想要变得懒惰(而不是贪婪)

来自分类Dev

正则表达式:获取一个懒惰的字符串

来自分类Dev

如何使正则表达式模式变得懒惰,或者如何在首次出现时停止匹配?

来自分类Dev

懒惰的“任何东西”之后,正则表达式的懒惰捕获都会失败...除非我知道会发生什么

来自分类Dev

列表推导中的Haskell懒惰

来自分类Dev

Haskell中的无限懒惰阶乘

来自分类Dev

OCaml中的线程安全懒惰

来自分类Dev

Haskell中的无限懒惰阶乘

来自分类Dev

正则表达式中的子表达式

来自分类Dev

期望中的正则表达式

来自分类Dev

BigQuery中的正则表达式

来自分类Dev

Perl中的正则表达式

来自分类Dev

AWK中的正则表达式

来自分类Dev

SSMS中的正则表达式@

来自分类Dev

OpenEdge中的正则表达式

来自分类Dev

正则表达式中的计算

来自分类Dev

包含中的正则表达式

来自分类Dev

TSQL中的正则表达式

来自分类Dev

SQL中的正则表达式?

来自分类Dev

python中的正则表达式

来自分类Dev

AWK中的正则表达式