如何删除<;并且>;在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, "");

如何删除<;并且>;在c#中使用regex

const string HTML_TAG_PATTERN = "<.*?>";
Regex.Replace (str, HTML_TAG_PATTERN, string.Empty);

不建议使用regex解析html

CCD_ 4用于规则出现的模式。html的格式不规则(xhtml除外(。例如,即使您没有closing taghtml文件也是有效的!这可能会破坏你的代码。

使用类似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自包含标记除外(。