【发布时间】:2012-12-13 19:35:52
【问题描述】:
我有一行文本,其中可能包含 1 个或多个匹配项。我正在使用命名捕获组,因为我不断地改变周围的事物,这使它更容易。
字符串:
blah blah blah dasf{{optionA:B4}}t estsdf{{optionB:B4}}sadf{{optionB:B4}}sadf13
图案:
(?<choice>\{\{(?<c>optionA|optionB):(?<d>[A-Z]\d{1,2})\}\})
我可以在网上找到的每个处理这种类型结构的示例都没有使用命名捕获组,而且我自己也无法将它们拼凑在一起。
在我的示例场景中,有 3 个匹配项,对于每个匹配项,我希望能够访问 'choice'、'c' 和 'd' 捕获组的 content。
谁能给我一个简单的例子来说明如何做到这一点?
【问题讨论】:
-
你真的是指反向引用吗?还是抓拍?您想在正则表达式内 还是在正则表达式执行 之后引用组?
-
执行后,我基本上需要知道所有这些匹配的 .Value。
-
好吧,这叫抓包。反向引用通常只指正则表达式内的内容,有时也指替换字符串内的内容(Tim Pietzker 在他的回答中显示的内容)