2012-02-22 126 views
-2

任何人都可以幫助我想出一個像這樣的正則表達式: AC :: CC :: DD :: EE :: FF :: EE (兩個字母或數字,但不是像%或任何其他花式字符, 其次是 ::)。 在此先感謝這是什麼模式匹配?

回答

-1

這個正則表達式可以。

/^([\dA-F]{2}::){5}[\dA-F]{2}$/ 

示例。

/^([\dA-F]{2}::){5}[\dA-F]{2}$/.test("AC::CC::DD::EE::FF::EE") // true 
/^([\dA-F]{2}::){5}[\dA-F]{2}$/.test("AC::CC::DD::E3E::FF::EE") // false 
+0

非常感謝Shiplu。 – Alsaket 2012-02-22 17:33:49

+0

你想要整個表單? 我已經從你和其他人那裏得到了答案。 thanx對你們所有人 – Alsaket 2012-02-22 17:38:51

+0

爲什麼要投票?它不工作? – 2012-02-22 19:37:52

2

我沒有測試這一點,但幾乎所有的正則表達式解釋應該認識到這種模式與做你想要什麼:[a-zA-Z0-9][a-zA-Z0-9](::[a-zA-Z0-9][a-zA-Z0-9])*

如果你想讓它才匹配就行了這種模式它應該像這樣:

^[a-zA-Z0-9][a-zA-Z0-9](::[a-zA-Z0-9][a-zA-Z0-9])*$

注意,該模式將匹配A1或匹配AC:CC:DD:E1:FF:EE:ZZ:MK:LM:Z0。 (你是否希望它只有六個字段而不是一個或多個?)

我推薦this website作爲正則表達式的備忘單。

+1

肯定。你得到了我所要求的。非常感謝你。 – Alsaket 2012-02-22 17:33:06

2

(兩個字母或數字,但不能看上字符,如%或任何其他依次爲::)

[\w\d]{2}:: 

但是你需要將整個字符串或只是在匹配那聲明?

+0

。 整個句子將會是六個(由::分隔的數字或字母)。 thanx Jayson for ur feedback – Alsaket 2012-02-22 17:41:13

+0

沒有問題,謝謝。希望這個線程給你所有你需要的。 – 2012-02-22 21:28:40

+0

是的Jayson。這是非常有幫助的。 – Alsaket 2012-02-23 09:41:57

2

'AC::CC::DD::EE::FF::EE::55::AA'.match(/\w{2,}(::|$)|\d{2,}(::|$)/g);

輸出

["AC::", "CC::", "DD::", "EE::", "FF::", "EE::", "55::", "AA"]

+0

謝謝你Sahil – Alsaket 2012-02-22 17:41:26

相關問題