正则表达式匹配c#中定义的标签

Vin*_*pin 1 c# regex

我有这个字符串

 This is a <143>sample</143> regex <143>pa<665>t</665>tern</143> selection <143>by</143> tags in <128>c#</128> and my <132>name</132> is <175>Vincent</175>
Run Code Online (Sandbox Code Playgroud)

而我本来应该通过标签来获得比赛.我用它来突出文字.

预期产量:

<143>sample</143>
<143>pa<665>t</665>tern</143>
<665>t</665>
<143>by</143>
<128>c#</128>
<132>name</132>
<175>Vincent</175>
Run Code Online (Sandbox Code Playgroud)

我尝试了这个正则表达式模式:

<(143|128|132|175)>.*</(143|128|132|175)> 
Run Code Online (Sandbox Code Playgroud)

但它会将所有结果打印为匹配,整个字符串.

请帮忙.


跟进问题

而不是获得整行匹配,我可以单独获取标签内的文本吗?就像我只是得到样本而不是<143>样本<`/ 143>

Mar*_*ers 5

这两个更改应该可以帮助您:

试试这个:

<(143|128|132|175)>.*?</\1> 
Run Code Online (Sandbox Code Playgroud)

关于"啊,是的,我忘了..它是嵌套标签":那么使用正则表达式可能不明智.嵌套标签不是常规语言.