交替中的混乱
|
假设在一个正则表达式中,如果匹配一个替代项中的一个替代项,即使剩下更多替代项,它也就在此处停止(替代项之外的正则表达式中没有其他标记)。
资源
搜索一个双字(例如
this this
)的模式
\\b([a-z]+)((?:\\s|<[^>]+>)+)(\\1\\b)
如果介绍这个主题,我会感到困惑:
它与样式匹配。
\"<i>whatever<i> whatever\"
\\b([a-z]+)
比赛
((?:<[^>]+>|\\s)+)
跟随一个TAG,因此第二个替代匹配。
(\\1\\b)
如果在第一个括号中反向引用相同的单词,则必须匹配。
如果标签后面没有跟随\'(\\1\\b)
\',则为什么要匹配空格。
我知道在交替中存在“ 7”。
但是难道不应该TAG匹配消耗交替吗?
为什么“ 7”替代仍然存在?
没有找到相关结果
已邀请:
2 个回复
bab
量词控制:
...因此它尝试匹配多次。每次,它都可以尝试两种选择:首先是
,如果失败,则是
。 第一次,
不匹配,但是
成功匹配ѭ15。
第二次匹配一个空格。
第三次匹配另一个空格。 ...依此类推,直到所有空间都被占用为止。
广躺椽