2012-02-20 64 views
2

對不起,如果這已被問到其他地方,我一直在尋找,無法找到它爲我的生活。我試圖解決正則表達式問題,我總是遇到更高級的場景問題......其他人發現它們非常容易,所以也許我的問題出現了。使用RegEx匹配domain.com和www.domain.com,但沒有其他子域名?

無論如何,我正在嘗試編寫一個與www.domain.com或domain.com匹配但沒有其他子域或任何東西的正則表達式。我想要傳遞正則表達式的唯一兩個字符串是「domain.com」和「www.domain.com」,除了包含所有子域匹配之外,我一直無法找到我正在尋找的內容,而我發現它很容易。

我最近來的是這樣的:regex for matching something if it is not preceded by something else但在這種情況下,它只失敗了一個前面的字符串,我希望它只能成功一個前面的字符串/子域。請注意,「domain.com」將始終是靜態的,這意味着它始終是精確字符串「domain.com」而不是各個域。

非常感謝您對此發表意見!

泰勒

+0

請使用'example.com'和朋友作爲示例域。我懷疑你自己的domain.com。 – Quentin 2012-02-20 12:56:39

回答

5

只需將擇部分非捕獲組中,並使其可選。

/^(?:www\.)?example.com$/ 
+1

與捕獲組一樣(沒有'?:')也可以工作,但可能會更慢。 – jofel 2012-02-20 12:58:18

+0

謝謝,太簡單了,我甚至看不到。它按預期工作。 – Tyler 2012-02-21 21:41:59

相關問題