正则表达式隔离网址,但不隔离电子邮件

时间:2018-08-05 23:46:19

标签: regex

我对regex确实很陌生,但是我的工作分配要求我完成以下任务,这使我发疯。任何帮助将不胜感激

我必须使用正则表达式将帖子过滤为聊天内容,以审查除电子邮件以外的所有链接。到目前为止,我发现以下内容似乎适用于大多数形式的URL,但也可以捕获电子邮件。

([--:\w?%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?

这里是一个链接,显示了我的问题:https://regexr.com/3tg56

1 个答案:

答案 0 :(得分:0)

一种可能性是在后面寻找空格(或行的开头):

(?<= |^)([--:\w?%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?
^^^^^^^^

https://regex101.com/r/upBNT0/1