我希望在一个更大的正则表达式中创建几个子表达式,其中每个子表达式匹配输入中一个位置或另一个位置的某些内容,但不是在两个位置,最好每个“感兴趣区域”使用相同的命名组。例如,我想匹配下面斜体的体积单位和粗体显示的货币单位。
- 3.23美元/加仑。
- 3.23美元(加仑)
- 4.50加元/加仑
- 1加仑@ 3.23美元
- 10加仑。@ 4.50加元
或更一般地说:
- 东西更多的东西XXX更多的东西
- 东西XXX更多东西
其中stuff和morestuff可能是一组复杂的子表达式。
似乎有可能使用一些组合
- 组堆栈推送/弹出
- 平衡组
- 看看周围
但我不确定如何进行。它是否归结为交替(|
)或具有不同表达的多次传递(我认为这相当于同一件事)?