我有一个用于检测链接的正则表达式,该链接适用于http://example.com,http://www.example.com等格式的网址,但不适用于www.example.com
我正在尝试扩展我拥有的东西,以便www.foo.com在不破坏以前的功能的情况下也能匹配。
我试过了:
/\(?\b((http|https|ftp):\/\/|)(www\.)[-A-Za-z0-9+&@#\/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#\/%=~_()|]/
但这只适用于www存在且不起作用的情况,例如http://example.com ...
答案 0 :(得分:1)
我相信我已经解决了这个问题。
我需要使两者 http和wee块可选AND我必须修改正则表达式以仅检测以.com / .net等结尾的内容,以便我不匹配字符串如果http和www都是可选的
这是有效的正则表达式:
/\(?\b((http|https):\/\/)?(www\.)?[-A-Za-z0-9+&@#\/%?=~_()|!:,.;]*\.(com|net|co)\/?[-A-Za-z0-9+&@#\/%=~_()|]*/gi;
答案 1 :(得分:0)
你需要像这样使用www:
/\(?\b((http|https|ftp):\/\/|)(www\.)?[-A-Za-z0-9+&@#\/%?=~_()|!:,.;]*[-A-Za-z0-9+&@#\/%=~_()|]/
添加“?”在(www。)组之后你可以选择