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