我正在尝试匹配网址的内部。
www.facebook.com
http://www.facebook.com
http://facebook.com
应该回来 facebook
我当前的正则表达式是 (?<=www\.|http:\/\/).*(?=\.[a-zA-Z]{2,4})
这与所有正确匹配,但带有http://www.
的匹配为www.facebook
我将如何让正则表达式看前场比赛的最后一次出现要么www
或http://
在Ruby中,您可以使用以下代码:
(?i)^(?:http://)?(?:\w+\.)?\K\w+(?=\.[a-z]{2,4}$)
参见演示。
^
断言我们在字符串的开头(?i)
使我们进入不区分大小写的模式(?:http://)?
可选地匹配http://
零件(?:\w+\.)?
(可选)匹配子域\K
保留匹配中要返回的匹配项\w+
火柴 facebook
(?=\.[a-z]{2,4}$)
先行检查它后面是域,那么字符串的结尾。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句