Javascript 如何匹配此字符串中的URL?
我看过各种各样的文章,展示了如何匹配URL。但我的情况与通常的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
/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))$/