使用正则表达式查找和替换 URL

Gan*_*rez 1 c# regex

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

\n\n
(?<!"")((www\\.|(http|https|ftp|news|file)+\\:\\/\\/)[_.a-z0-9-]+\\.[a-z0-9\\/_:@=.+?,##%&amp;~-]*[^.|\\\'|\\# |!|\\(|?|,| |>|<|;|\\)])(?!"")\n\n((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)\n\n(?<!\\w?="")(((http|https|ftp|news|file)+://)[_.a-z0-9-]+\\.[a-z0-9\\/_:@=.+?,##%&\xe2\x80\x8c\xe2\x80\x8bamp;~-]*[^.|\\\'|\\# |!|\\(|?|,| |>|<|;|\\)])\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n\n

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

\n\n

更新

\n\n

正如hwnd提到的,最好的模式是

\n\n
https?\\S+\n
Run Code Online (Sandbox Code Playgroud)\n

Fed*_*zza 5

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

https?:.*(?=\s)
Run Code Online (Sandbox Code Playgroud)

工作演示

检查替换部分

在此输入图像描述

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

\w+:\/\/.*?(?=\s)
Run Code Online (Sandbox Code Playgroud)

工作演示

在此输入图像描述

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

\w+:\/\/\S*
Run Code Online (Sandbox Code Playgroud)

  • 使用 `https?://\S+` 更容易 (4认同)