簡體   English   中英

C# 正則表達式匹配標記和結束前的文本

[英]C# Regex Match Tag and text before end of it

我需要提取它們之間的標簽和文本。 示例文本

<SampleTag1>Text \r\n More < Text < <\SampleTag1>

我想得到:

  • Group1:SampleTag1
  • Group2:文本 \\r\\n 更多 < 文本 <

我現在有:

"<(\w+)>([^</]*)"

但我不只返回:

  • Group1:SampleTag1
  • 文字 \\r\\n 更多

由於這不是有效的 XML,我猜正則表達式解決方案可能對您的情況有效。

<(?<tag>\w+)>(?<text>.*?)</\k{tag}>

演示

我使用了一個惰性限定符 ( .*? ) 來匹配盡可能少的字符,但由於需要結束標記,它必須匹配標記內的文本才能成功匹配。 如果需要換行支持,請與RegexOptions.Singleline使用。 如果您可以嵌套標簽,則此表達式將不起作用。

(如果需要,用<\\\\替換</

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM