正则表达式<和>

时间:2009-09-24 22:13:00

标签: c# regex

好吧,我有一个文件,可能会或可能不会换行或运送。坦率地说,我需要忽略这一点。我需要搜索文档找到所有<和匹配>标记并删除其中的所有内容。我一直试图让这个工作有点我当前的正则表达式是:

private Regex BracketBlockRegex = new Regex("<.*>", RegexOptions.Singleline);
....
resultstring = BracketBlockRegex.Replace(filecontents, "");

但这似乎不起作用,因为它捕获了很多东西。任何线索?是什么东西与&lt;和&gt; c#中的符号?

5 个答案:

答案 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匹配,具体取决于设置。