Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在正则表达式中将感叹号视为URL的一部分_Regex_Url - Fatal编程技术网

Regex 如何在正则表达式中将感叹号视为URL的一部分

Regex 如何在正则表达式中将感叹号视为URL的一部分,regex,url,Regex,Url,如何在正则表达式中将感叹号视为URL的一部分 例如: 原始url是:bla1 bla2 bla3 我需要找到URL: 用正则表达式 我使用的是费用: ((www\.|(http|https|ftp|news|file)+\:\/\/)?[&#95;.a-zA-Z0-9-]+\.[a-zA-Z0-9\/&#95;:@=.+?,##%&~-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)]*) ((www.|)(http | https | ft

如何在正则表达式中将感叹号视为URL的一部分

例如: 原始url是:bla1 bla2 bla3 我需要找到URL:

用正则表达式

我使用的是费用:

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

((www.|)(http | https | ftp | news | file)+\:\/\/)?[_;.a-zA-Z0-9-]+\.[a-zA-Z0-9\/_;:@=.+?,#%&-*[^.| \'| \!(|?,|如果要匹配此URL的全文,请使用<124p>:

(?:www\.|(?:https?|ftp|news|file):\/\/)[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]
请注意,最后一个字符类确保,如果URL是某些文本的一部分,则URL后面的标点符号(如逗号或句号)不会被解释为URL的一部分。感叹号(!)等符号仅在位于URL中间时使用,但如果位于URL末尾,则不会匹配

见演示


只需从最后一个否定字符类中删除
(|?| |,| |>|
((www\.|(http|https|ftp|news|file)+\:\/\/)?[&#95;.a-zA-Z0-9-]+\.[a-zA-Z0-9\/&#95;:@=.+?,##%&~-]*[^.|\'|\#|\(|?|,| |>|<|;|\)]*)