正则表达式替换以匹配包括尖括号在内的所有内容

时间:2016-06-06 16:08:11

标签: c# regex

我的输入是如下字符串 -

some random text <http…any characters> more random text

或者可以包含h​​ttps

some random text <https…any characters>  more random text

我希望我的输出能够取代任何东西&#34;包括&#34;没有任何东西的尖括号。所以我的输出应该是以下 -

some random text more random text

我使用C#来执行此操作,以下是我的代码示例:

static string RemoveLinks(string source)
    {
        const string pattern = "Need Regex Pattern Here";

        return Regex.Replace(source, pattern, "");
    }

有人可以帮助进行模式匹配吗?

2 个答案:

答案 0 :(得分:2)

如果不止一组括号,则另一个答案会中断。我会改用它:

<[^>]+>

基本上,char类确保匹配不会捕获结尾>

根据您的需要,您可能希望在正则表达式中添加更多内容:

<http[^>]+>

或者,如果您必须确保它与周围文本的空格分开:

(\s)<http[^>]+>(\s)

在这种情况下,您可以用$1$2替换它以确保保留周围的空格。或者,如果您只想要一个普通空格,则可以使用字符串" "。 (显然)

重要提示:我建议使用原始字符串,例如@"your regex with \backslashes",而不是常规字符串。

答案 1 :(得分:0)

转到here获取所有相关信息。

可能类似于:

string pattern = "\s<.*>\s";

是对的。您可以使用Notepad ++进行一些简单的测试,因为它的find和amp;中有正则表达式选项。替换工具。这样您就可以进行更准确的测试,并确保它们都正常工作。