使用Regex查找和替换URL

时间:2014-08-13 23:33:58

标签: c# regex

我读过很少的文章和帖子,但我找不到从文本中删除特定网址的解决方案。我尝试了至少3种不同的表达方式。很高兴知道我是以编程方式(C#)进行的。

(?<!"")((www\.|(http|https|ftp|news|file)+\:\/\/)[_.a-z0-9-]+\.[a-z0-9\/_:@=.+?,##%&amp;~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])(?!"")

((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)

(?<!\w?="")(((http|https|ftp|news|file)+://)[_.a-z0-9-]+\.[a-z0-9\/_:@=.+?,##%&‌​amp;~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])

示例网址如下。请注意,并非所有网址都与此完全相同。这是最糟糕的一个。

http://api.ning.com/files/ THD uipNJAW29nIL5jzWbrYON5NhTKYVXmzollyMEHasDDvnq1454BrFkXFfmzj1gH7Ye3xw03C9ulNTICYAdueKg6vaIeu / PauloSkaf.png

有人可以指导我解决方案吗?

更新

正如hwnd提到的最佳模式是

https?\S+

1 个答案:

答案 0 :(得分:0)

我不完全确定您的需求是什么,但如果您想从文本中删除该网址,则可以使用这样的正则表达式:

https?:.*(?=\s)

<强> Working demo

检查替换部分

enter image description here

顺便说一句,如果你想删除任何协议,你可以使用这个:

\w+:\/\/.*?(?=\s)

<强> Working demo

enter image description here

在评论中指出 hwnd ,您可以使用以下方法改进以上正则表达式:

\w+:\/\/\S*