如何在第一个点之前匹配?

时间:2011-11-23 23:54:35

标签: regex

我有以下正则表达式。

^((?!example).)*$#Subdomain is reserved (example).

我想验证<subdomain>.example.org。但是,由于域名包含example,因此正在进行匹配。

地址为www.example.org

时,验证不应匹配

当地址为example.example.org

时,验证应匹配

3 个答案:

答案 0 :(得分:1)

看起来你错过了句号

中的转义字符
^(example)\..*$

应该有效

答案 1 :(得分:1)

似乎很简单

^example\.

就够了。或者使用字符串方法,具体取决于您的语言:

url.indexOf('example.') === 0

如果还可以输入example.org,则可以使用

^example\..+\.

强制出现两个点。但example.co.uk仍然会失败。这取决于你的输入。

答案 2 :(得分:0)

一种简单的方法可能是将其分解为两种:

  1. ^.+\.example\.org$
  2. ^(www)?\.example\.org$
  3. 如果1)匹配且2)不匹配,则它是example.org的子域;否则,它不是。 (虽然www在技术上是一个子域,但你明白。)