2012-02-22 84 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

相关问题