好吧,我有一个文件,可能会或可能不会换行或运送。坦率地说,我需要忽略这一点。我需要搜索文档找到所有<和匹配>标记并删除其中的所有内容。我一直试图让这个工作有点我当前的正则表达式是:
private Regex BracketBlockRegex = new Regex("<.*>", RegexOptions.Singleline);
....
resultstring = BracketBlockRegex.Replace(filecontents, "");
但这似乎不起作用,因为它捕获了很多东西。任何线索?是什么东西与&lt;和&gt; c#中的符号?
答案 0 :(得分:7)
替换
<.*>
带
<.*?>
答案 1 :(得分:4)
尝试使用正则表达式的非贪婪变体:
<[^>]*>
你拥有的内容<.*>
将与第一个<
匹配,后跟 last >
的所有内容,而你想要的是匹配到第一个一个。
答案 2 :(得分:2)
正则表达式是贪婪的,你有一个等于任何一个的句号,恰好包括大于和小于字符。
试试这个......
<[^<>]*>
Arguably the best Regular Expression resource on the Internet.
答案 3 :(得分:1)
尝试:
private Regex BracketBlockRegex = new Regex("<.*?>", RegexOptions.Singleline);
答案 4 :(得分:0)
请注意,您可能需要添加一些有关如何中断源数据的解析限定符。
HTML标记可以在空白处分割到不同的行上。
&LT; IMG
SRC = “blah.jpg”
ALT = “嗒嗒”
&GT;
某些正则表达式解析器可能会或可能不会将。与\ r或\ n匹配,具体取决于设置。