Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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?_Javascript_Regex - Fatal编程技术网

Javascript 如何匹配此字符串中的URL?

Javascript 如何匹配此字符串中的URL?,javascript,regex,Javascript,Regex,我看过各种各样的文章,展示了如何匹配URL。但我的情况与通常的URL匹配略有不同 就是这样一个不适合我的正则表达式 /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/ 我的要求: 我的要求是,我有一个这样的字符串 userlist.2011.text_mediafire.com userlist.2011.text_http://www.mediafi

我看过各种各样的文章,展示了如何匹配URL。但我的情况与通常的URL匹配略有不同

就是这样一个不适合我的正则表达式

/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/
我的要求:

我的要求是,我有一个这样的字符串

userlist.2011.text_mediafire.com

userlist.2011.text_http://www.mediafire.com,

userlist.2011.text_http://mediafire.com,

userlist.2011.text.www.mediafire.com

现在,我想匹配mediafire.com以及是否存在http://www. 所以,我想设置的限制是,在本例中,TLD左边的所有字符串“.com”都应该记录到一个特殊字符列表中,如“\uz-”等


除了基本的/*\.com | net | org | info/。显然是错误的之外,我无法再继续了。

使用下面的正则表达式,从组索引1中获取所需的字符串

(?:http:\/\/)?(?:www\.)?([^'"_.-]*\.(?:com|net|org|info)\b)
您需要“$”来匹配字符串的结尾。如果要在特殊字符之前捕获整个字符串,还需要匹配字符串“^”的开头


谢谢这与预期一样有效,但当存在“www.”时,如何排除特殊字符“.”?我将对问题进行编辑,例如:userlist.2011.text.www.mediafire.com不符合上述regexPerfect!我似乎遇到了另一个麻烦。如果有子域呢?userlist.2011.text.www.torentz.3xforum.ro.aviHi chrissy,我认为你的答案对我所做的上述编辑不起作用。/^http:\/\/*www.[^ net-]*.*.com | net | org | info$/不,仍然不起作用。如果字符串中不存在www
/^(.*)\.(([^\.]+)\.(com|net|org|info))$/