[英]How to match a URL in this string?
我看过各种文章,展示了如何匹配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.
”和“ www。 ”(如果存在)匹配,因此,我要设置的矛盾之处是TLD左侧的所有字符串(在在这种情况下,“。com”)应记录到一个特殊字符列表中,例如'"_-
等。
除了基本的/(.*)\\.(com|net|org|info)/
以外,我无法进行任何其他操作,这显然是错误的。
使用以下正则表达式从组索引1中获取所需的字符串。
(?:http:\/\/)?(?:www\.)?([^'"_.-]*\.(?:com|net|org|info)\b)
您需要'$'
来匹配字符串的结尾。 如果您想在特殊字符之前捕获整个字符串,则还需要匹配字符串'^'
的开头。
/^(.*)\.(([^\.]+)\.(com|net|org|info))$/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.