首页 新闻 会员 周边 捐助

“+”修饰符本身不是占有模式,它只是一个普通的贪婪量词

0
[已关闭问题] 关闭于 2025-07-26 11:54

+:表示“1次或多次”,默认是贪婪的,会尽可能多地匹配,允许回溯。
++:才是占有模式,表示“1次或多次”,但不允许回溯(即匹配多少就是多少,不会给后面的表达式留机会)。

_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-07-26 11:52
< >
分享
所有回答(1)
0

/a\w+3/:普通贪婪量词 +,匹配时会回溯。
/a\w++3/:占有量词 ++,匹配时不回溯,一旦匹配失败就整体失败。
其他占有量词:
*+:零次或多次,占有。
{m,n}+:m到n次,占有。

                    (量词后加上?)             (量词后加上+)

贪婪匹配量词 非贪婪匹配量词 占有优先匹配量词

  *                    *?                         *+
  ?                    ??                         ?+
  +                    +?                         ++
  {M,}                 {M,}?                      {M,}+
  {M,N}                {M,N}?                     {M,N}+
  {N}                  {N}?                       {N}+
_java_python | 园豆:984 (小虾三级) | 2025-07-26 11:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册