如何强制正则表达式的部分匹配?

时间:2015-08-11 17:01:18

标签: c# regex

我有这个正则表达式

<SharePointWebControls:(\w+).*?fieldname="(.*?)".*?\s*<\/SharePointWebControls:(?:\w+).*?>

请注意(\w+)(?:\w+)的两个部分。即使这两者不同,这个正则表达式也会匹配某些东西。我如何强制它,以便这两个组的匹配区域必须相同?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用\1

对匹配的群组进行反向引用
<SharePointWebControls:(\w+).*?fieldname="(.*?)".*?\s*<\/SharePointWebControls:\1>

后面的\1部分实际上是对(\w+)捕获的第一个捕获组的反向引用。

RegEx Demo