【发布时间】:2015-10-01 08:44:02
【问题描述】:
我需要提取它们之间的标签和文本。 示例文本
<SampleTag1>Text \r\n More < Text < <\SampleTag1>
我想得到:
- Group1:SampleTag1
- Group2:文本 \r\n 更多
现在我有:
"<(\w+)>([^</]*)"
但我不只返回:
- Group1:SampleTag1
- 文字\r\n更多
【问题讨论】:
我需要提取它们之间的标签和文本。 示例文本
<SampleTag1>Text \r\n More < Text < <\SampleTag1>
我想得到:
现在我有:
"<(\w+)>([^</]*)"
但我不只返回:
【问题讨论】:
由于这不是有效的 XML,我想正则表达式解决方案在您的情况下可能是有效的。
<(?<tag>\w+)>(?<text>.*?)</\k{tag}>
我使用了一个惰性限定符 (.*?) 来匹配尽可能少的字符,但由于需要结束标记,它必须匹配标记内的文本才能成功匹配。如果您需要换行支持,请与 RegexOptions.Singleline 一起使用。如果您可以嵌套标签,则此表达式将不起作用。
(如果需要,将</ 替换为<\\)
【讨论】: