正则表达式替换以匹配包括尖括号在内的所有内容[重复]
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 类确保匹配不会捕获结尾>
。
根据您的需要,您可能希望在正则表达式中添加更多内容:
<http[^>]+>
或者,如果您必须确保它与周围的文本用空格分隔:
(\s)<http[^>]+>(\s)
在这种情况下,您可以将其替换为 $1$2
以确保保留周围的空间。或者,如果你只想要一个普通的空格,你可以使用字符串" "
。 (显然。)
重要提示:我建议使用原始字符串,例如 @"your regex with \backslashes"
,而不是常规字符串。
【讨论】:
以上是关于正则表达式替换以匹配包括尖括号在内的所有内容[重复]的主要内容,如果未能解决你的问题,请参考以下文章