在Python的正则表达式实现中,您可以执行以下操作:
<(?P<foo>.*)>(.*)</(?P=foo)>
基本上它会寻找<this>right here</this>
而不是<this>right </here>
。基本上它允许您在正则表达式中使用之前捕获的命名匹配。有没有办法用.NET的Regex做到这一点?
答案 0 :(得分:4)
您可以使用尖括号或单引号并使用\ k来引用它们:
<(?<foo>.*)>(.*)</(\k<foo>)>
或
<(?'foo'.*)>(.*)</(\k'foo')>
有关详细信息,请参阅this页面,然后向下滚动到“使用.NET的System.Text.RegularExpressions命名捕获”部分。
答案 1 :(得分:0)
试试这个:
<(?<foo>.*)>(.*)</\<foo>>