Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 如何修改此正则表达式以匹配URL';s包含@个字符_Javascript_Regex - Fatal编程技术网

Javascript 如何修改此正则表达式以匹配URL';s包含@个字符

Javascript 如何修改此正则表达式以匹配URL';s包含@个字符,javascript,regex,Javascript,Regex,我使用下面的正则表达式使用javascript查找文本字符串中的链接 /(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=

我使用下面的正则表达式使用javascript查找文本字符串中的链接

/(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(\s+|$)/gi
它对我很有帮助,而且看起来相当健壮。然而,我最近注意到(也许是正确的)它不匹配任何包含
@
字符的URL

虽然这些并不常见,但Flickr使用它们,我希望支持匹配这些链接

我希望匹配的Flickr url示例:

https://www.flickr.com/photos/47574723@N03/13849559654/in/explore-2014-04-14
所以问题是,我如何修改上面的正则表达式,使其正确匹配上面的url


提前感谢

编辑它以添加一个
@

(([a-z]+:\/\/)?(([a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(\/[a-z0-9_@\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-zA-Z0-9!$&'()*+.=-_~:@\/?]*)?)(\s+|$)

谢谢它工作得很好!我对正则表达式的理解充其量只是初步的,在这样一个漫长而复杂的过程中,我只是迷失了方向。再次感谢,我会尽快将其标记为已回答:)