匹配网址的正则表达式以子域名开头但不是“www”

时间:2015-11-19 12:28:47

标签: javascript regex

我有一组可能的网址:

www.example.com
www.example.user.dev
subdomain.example.com
subdomain.example.user.dev
www.en.example.com
www.en.example.user.dev
subdomain.en.example.com
subdomain.en.example.user.dev

subdomain可以是任何单词。 我需要一个正则表达式,找到所有不以www开头的网址,因此结果集应为:

subdomain.example.com
subdomain.example.user.dev
subdomain.en.example.com
subdomain.en.example.user.dev

我有正则表达式/[a-z]+\.(en\.|)example\.(com|[a-z]+\.dev)/i,我需要将其修改为仅限mathc的网址,而不是www。是否可以仅使用正则表达式解决,还是需要在代码中编写一些逻辑?

UPD: 正则表达式/\b(?!www\b)[a-z]+\.(en\.|)example\.(com|[a-z]+\.dev)/i适用于没有.en部分的网址但在包含.en的网址上失败。

1 个答案:

答案 0 :(得分:1)

你走了:

^(?!www\.)((([a-z]{4,})|([a-z]{2}))\.(en\.|)example\.(com|[a-z]+\.dev))