除了http://example.com之外,如何扩展此正则表达式以匹配www.example.com?

时间:2013-10-23 03:33:52

标签: javascript regex

我有一个用于检测链接的正则表达式,该链接适用于http://example.comhttp://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 ...

2 个答案:

答案 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。)组之后你可以选择