正则表达式:如何在URL和其他内容之间进行匹配
本文关键字:之间 其他 URL 正则表达式 | 更新日期: 2023-09-27 18:17:16
我挖出了一个正则表达式,可以在识别URL时解决问题。在这里:
Regex regex = new Regex("http://([''w+?''.''w+])+([a-zA-Z0-9''~''!''@''#''$''%''^''&''*''('')_''-''=''+''''''/''?''.'':'';''''',]*)?", RegexOptions.IgnoreCase);
我接下来需要做的是匹配标识的 URL 和其他一些字符(最好是换行符(之间的所有内容。
因此,如果我有这样的文本块...以网址结尾,例如 它即将,我希望整个文本块消失。 http://checkoutmysite.com。
应该什么都没有,因为正则表达式会将所有内容向后匹配到最近的换行符,然后将其全部取出。
我已经尝试了一两件事,但似乎无法得到它。
-
使用逐字字符串
@"Regexstring"
,优点是,不需要双重转义。所以例如Regex regex = new Regex(@"'w+");
很好。
字符 类中的大多数字符不需要转义。
Regex regex = new Regex(@"http://(['w+?.'w+])+([a-zA-Z0-9~!@#$%^&*()_'-=+''/?.:;',]*)?", RegexOptions.IgnoreCase);
应该和你的一样。
如果您想在正则表达式之前删除某些内容,直到之前的换行符,请在模式周围放置一个
.*
和括号,然后替换为$1
Regex regex = new Regex(@".*(http://(['w+?.'w+])+([a-zA-Z0-9~!@#$%^&*()_'-=+''/?.:;',]*)?)", RegexOptions.IgnoreCase);
然后
regex.replace
$1
作为替换字符串。