【问题标题】:regex replace to match everything including the angle brackets [duplicate]正则表达式替换以匹配包括尖括号在内的所有内容[重复]
【发布时间】:2016-10-06 08:04:12
【问题描述】:

我的输入是如下字符串-

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

或者它可以包括 https

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

我希望我的输出用任何内容替换“包括”尖括号的任何内容。所以我的输出应该是以下-

some random text more random text

我正在使用 C# 来执行此操作,因此这是我的代码示例:

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

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

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

【问题讨论】:

标签: c# regex


【解决方案1】:

转到here 以获取所有信息。

大概是这样的:

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

应该是正确的。您可以使用 Notepad++ 进行一些简单的测试,因为它的查找和替换工具中有正则表达式选项。这样您就可以进行更准确的测试并确保一切正常。

【讨论】:

  • 需要惰性量词?.
【解决方案2】:

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

<[^>]+>

本质上,char 类确保匹配不会捕获结尾&gt;

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

<http[^>]+>

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

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

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


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    相关资源
    最近更新 更多