我的输入是如下字符串 -
some random text <http…any characters> more random text
或者可以包含https
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, "");
}
有人可以帮助进行模式匹配吗?
答案 0 :(得分:2)
如果不止一组括号,则另一个答案会中断。我会改用它:
<[^>]+>
基本上,char类确保匹配不会捕获结尾>
。
根据您的需要,您可能希望在正则表达式中添加更多内容:
<http[^>]+>
或者,如果您必须确保它与周围文本的空格分开:
(\s)<http[^>]+>(\s)
在这种情况下,您可以用$1$2
替换它以确保保留周围的空格。或者,如果您只想要一个普通空格,则可以使用字符串" "
。 (显然)
重要提示:我建议使用原始字符串,例如@"your regex with \backslashes"
,而不是常规字符串。
答案 1 :(得分:0)
转到here获取所有相关信息。
可能类似于:
string pattern = "\s<.*>\s";
是对的。您可以使用Notepad ++进行一些简单的测试,因为它的find和amp;中有正则表达式选项。替换工具。这样您就可以进行更准确的测试,并确保它们都正常工作。