如何删除<;并且>;在c#中使用regex
本文关键字:regex gt 并且 删除 何删除 lt | 更新日期: 2023-09-27 18:08:21
我有一个字符串str="<u>rag</u>"
。现在,我只想得到字符串"rag"
。如何使用regex获取它?
我的代码在这里。。
我得到了输出=">
提前谢谢。。
C#代码:
string input="<u>ragu</u>";
string regex = "(''<.*''>)";
string output = Regex.Replace(input, regex, "");
const string HTML_TAG_PATTERN = "<.*?>";
Regex.Replace (str, HTML_TAG_PATTERN, string.Empty);
不建议使用regex
解析html
CCD_ 4用于规则出现的模式。html
的格式不规则(xhtml
除外(。例如,即使您没有closing tag
,html
文件也是有效的!这可能会破坏你的代码。
使用类似htmlagilitypack 的html解析器
警告{不要在代码中尝试此操作}
解决正则表达式问题!
<.*>
替换后面跟有0到多个字符的<
(即u>rag</u
(,直到最后>
你应该用这个正则表达式替换它
<.*?>
.*
是贪婪,即它会吃掉与匹配的字符数
.*?
是懒惰,即它会吃掉尽可能少的字符
当然可以:
string input = "<u>ragu</u>";
string regex = "(''<[/]?[a-z]''>)";
string output = Regex.Replace(input, regex, "");
您不需要为此使用regex。
string input = "<u>rag</u>".Replace("<u>", "").Replace("</u>", "");
Console.WriteLine(input);
您的代码几乎是正确的,一个小的修改就可以了:
string input = "<u>ragu</u>";
string regex = @"<.*?'>";
string output = Regex.Replace(input, regex, string.empty);
输出是"ragu"。
编辑:此解决方案可能不是最好的。用户"魔鬼之地"srilaka的一句有趣的话:不要使用regex来解析HTML。实际上,请参阅RegEx匹配开放标记(XHTML自包含标记除外(。