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

Posted

技术标签:

【中文标题】正则表达式替换以匹配包括尖括号在内的所有内容[重复]【英文标题】: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, "");
    

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

【问题讨论】:

见***.com/a/787951/3832970 【参考方案1】:

转到here 以获取所有信息。

大概是这样的:

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

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

【讨论】:

需要惰性量词?.【参考方案2】:

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

<[^>]+>

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

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

<http[^>]+>

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

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

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


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

【讨论】:

以上是关于正则表达式替换以匹配包括尖括号在内的所有内容[重复]的主要内容,如果未能解决你的问题,请参考以下文章

怎么用正则表达式匹配小括号里内容(含括号)?

匹配除以单词开头之外的所有内容的模式[重复]

js正则表达式替换捕获内容

linux正则表达式,(以grep为例)

正则匹配所有括号中的内容&PHP实现

正则匹配所有括号中的内容&PHP实现