2011-11-23 23 views
0

我有以下正則表達式。我想驗證<subdomain>.example.org。但是,由於域名包含example,因此發生了匹配。如何只匹配第一個點之前?

驗證時,該地址是www.example.org

當地址example.example.org

+2

「example.somethingelse.com」應該匹配嗎?那麼'somethingelse.example.org'怎麼樣?那麼'some.thing.example.org'怎麼樣? – NullUserException

+0

只是'example.com'(沒有子域)呢? example.somethingelse.com應該匹配 –

+0

。 somethingelse.example.org不應該。 –

回答

1

看起來你失蹤期間轉義字符

^(example)\..*$ 

應該工作

0

一個簡單的方法可能是將它分解成兩個驗證應該與不應該匹配:

  1. ^.+\.example\.org$
  2. ^(www)?\.example\.org$

如果1)匹配並且2)不匹配,則它是example.org的子域;否則,它不是。 (雖然www在技術上是一個子域,但你懂的。)

1

看來,一個簡單的

^example\. 

就夠了。或者使用字符串方法,根據您的語言:

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

如果輸入如example.org也是可以的,你可以使用

^example\..+\. 

迫使兩個點的出現。但是這對example.co.uk仍然會失敗。這取決於你的輸入。

相關問題