Skip to main content
 首页 » 编程设计

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

2024年01月28日26jillzhang

我有这个字符串

 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> 

我应该只是通过标签来匹配。我用它来突出显示文本。

预期输出:

<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> 

我试过这个正则表达式模式:

<(143|128|132|175)>.*</(143|128|132|175)>  

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

请帮忙。


跟进问题

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

请您参考如下方法:

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

试试这个:

<(143|128|132|175)>.*?</\1>  

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