我正在努力排除某些网址。
我希望所有具有/google.com/
模式的网址,/login.google.com/
所以:
account.google.com
应该通过google.com
应该通过google.com/abc
应该通过http://google.com
应该通过login.google.com
不传递我正在尝试的代码是
/^(?!login\.)google\.com/
/^(login)google\.com/
但两者都没有效果。我错过了什么吗?
答案 0 :(得分:5)
假设您尝试匹配除google.com
之外的任何login.
地址,您需要在.*
之前添加google
,即< / p>
/^(https?:\/\/)?(?!login\.)([\w-]+\.)?google\.com/
更新:根据有用的评论进行修改。不确定有效的域名字符类是什么 - 猜测它是[\w-]
。如果你想玩它,请参见http://rubular.com/。
答案 1 :(得分:3)
这个正则表达式适合你:
^(?:https?://)?(?!login\.)(?:.+?\.)?google\.com(?:/.*|)$
Javascript语法:
/^(?:https?:\/\/)?(?!login\.)(?:.+?\.)?google\.com(?:\/.*|)$/
答案 2 :(得分:-1)
尝试此模式以匹配问题中列出的数据:
/^(account\.)?google\.com/