我希望在更大的正则表达式中创建几个子表达式,其中每个子表达式匹配输入中的一个位置或另一个位置的某些内容,但不是两个地方都匹配,最好是每个“感兴趣的区域使用相同的命名组” ”。例如,我想匹配下面斜体中的体积单位和货币单位,以粗体显示。
或更一般地说:
其中 stuff 和 morestuff 可能是一组复杂的子表达式。
似乎可以使用
的某种组合但我不知道该怎么办。它是否归结为轮换(|
)或具有不同表达式的多次传递(我认为它们是相同的东西)?
答案 0 :(得分:1)
您可能需要使用交替,这样的事情?
^(stuffmorestuff)XXX(yetmorestuff)|(stuff)XXX(morestuff)$
但最终会有四个捕获组。如果对多个组使用相同的组名,则不确定.NET正则表达式引擎的行为方式。