1
我正在解析一個sgml文件。每個條目是這樣的:正則表達式 - 循環匹配
<key n=1>xzsd:test
<sk id=1 hi=1>test
<tag1>.............</tag1>
<tag2>.............</tag2>
................
</sk>
<sk id=2>test2
<tag1>.............</tag1>
<tag2>.............</tag2>
................
</sk>
</key>
我想用一些HTML標記來代替<key n=1>...</key>
。我目前正在用標記替換標記,但只要檢索<key>
標記中的所有內容可能會更有效。
我怎麼能做出這樣的代碼編譯:
entry = Regex.Replace(entry, "<key .*?>.*</key>", "<div class='key'>$2<div>");//Only interested in the second match.
Regex skReg = new Regex(@"<sk...>", RegexOptions.Compiled);
foreach (Match ItemMatch in ItemRegex.Matches(entry))
{
//Do parsing of contents of each sk tag
}
的SGML沒有任何換行符
你是開放給非正則表達式基於解決方案我想起了這個答案:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags#answer-1732454 –
如何?除了開始標記之外沒有什麼靜態的 – Cornwell
您的正則表達式不起作用嘗試這個http://regex101.com/r/yK0mD4 – Rex