例子:
http://example.com ---> http://example.com
ftp://username:[email protected] /cdn-cgi/l/email-protection ---> ftp://username:[email protected] /cdn-cgi/l/email-protection
http://example.com/path/to/somehwere ---> http://example.com
http://example.co.uk ---> http://example.co.uk
example.co.uk ---> example.co.uk
example.co.uk?user=John&pass=1234 ---> example.com.uk
我试过这个:
.*?(:\/{2})?.*?(?=\/|$|\?)
它适用于没有协议的网址,但原因是(?=\/|$|\?)
它停在http:
你能帮我修复我的正则表达式吗?或者建议更好?
这个基于前瞻的正则表达式应该适合您:
^.+?[^\/:](?=[?\/]|$)
正则表达式演示 https://regex101.com/r/tkdQBX/1
前瞻断言(?=[?\/]|$)
确保在下一个字符出现时停止匹配/
or ?
或者有线尾。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)