我想要一个正则表达式来验证形式AABBAAA的输入,其中A是字母(a-z,A-Z),B是数字(0-9)。所有的As必须是一样的,所以Bs也一样。正则表达式验证数字和字母序列
回答
如果所有一个的和乙的都应该是一样的,我觉得这样做的唯一的办法是:
([a-zA-Z])\1([0-9])\2\1\1\1
在哪里\ 1和\ 2是指第一和第二括号组。但是,我不认为所有的正则表达式引擎都支持这一点。
+1反向引用,至少支持基本和扩展POSIX RE和Perl。虽然可能*不是*提问者想要什么,这是对问题的有效解读。 – pilcrow
是的。这样'AB12CDE'将不会匹配,但'AA11AAA'会;我怀疑这是OP想要的,但它可能是。 –
它确实没有你想象的那么难;你已经掌握了大部分的语法。
[a-zA-Z]{2}[0-9]{2}[a-zA-Z]{3}
的数字在括号({}
)告诉多少次前一个字符匹配或字符集,所以匹配[a-zA-Z]
两次,[0-9]
两次,[a-zA-Z]
三次。
编辑:如果你想确保匹配的字符串不是一个更长字符串的一部分,你可以使用word boundaries;只需添加\b
的正则表达式的两端:
\b[a-zA-Z]{2}[0-9]{2}[a-zA-Z]{3}\b
现在 “Ab12Cde” 会一致,但 “YZ Ab12Cde FG” 不会。
编辑2:现在,这个问题已经改变,backreferences是做的唯一途径。 edsmilde的答案应该有效;但是,您可能需要添加词边界以获得最终解决方案。
\b([a-zA-Z])\1([0-9])\2\1\1\1\b
[a-zA-Z]{2}\d{2}[a-zA-Z]{3}
- 1. 正则表达式来验证字母和数字如预期
- 2. 验证正则表达式必须包含字母数字
- 3. 仅限字母和数字的正则表达式验证程序
- 4. 正则表达式来验证字母数字和特定的特殊字符
- 5. Java字符串验证只有一个字母数字和正则表达式
- 6. 正则表达式验证程序 - 不采用小写字母
- 7. 正则表达式验证器 - 数字,字母和短划线和空格?
- 8. PHP正则表达式验证字母和西班牙口音
- 9. 是仅验证字母字符正则表达式
- 10. 正则表达式的字母数字
- 11. 字母数字的正则表达式
- 12. 正则表达式字母数字jquery
- 13. 使用正则表达式验证没有位置排序的字母序列
- 14. 表单验证正则表达式除去小写字母
- 15. 正则表达式验证序列
- 16. 正则表达式验证器捕获非字母数字字符
- 17. 正则表达式来验证字母数字连续字符串
- 18. emberjs字段验证正则表达式
- 19. 正则表达式字母数字字符串+特殊字母
- 20. 常规字段表达式验证字母数字值@和点
- 21. 字母+数值的正则表达式
- 22. [字母数字] _ [字母数字] _ [数字]的模式的正则表达式
- 23. 正则表达式字母数字和特殊字符的jQuery
- 24. 正则表达式的字母,数字和字符的jQuery
- 25. 正则表达式的字母数字和+字符
- 26. 正则表达式匹配字母数字字符和符号(&)
- 27. 正则表达式,按字母顺序排列URL的列表?
- 28. 正则表达式函数4个字母和4个数字?
- 29. 正则表达式 - 过滤字母和非字母数字字符
- 30. 正则表达式仅验证数字和点
以防万一你以前没去过那里http://www.regular-expressions.info/ –