我想要一个正则表达式来验证形式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. 在JavaScript中验证字母数字值的正则表达式
- 5. 字母数字正则表达式验证
- 6. 仅限字母和数字的正则表达式验证程序
- 7. Java字符串验证只有一个字母数字和正则表达式
- 8. 正则表达式来验证字母数字和特定的特殊字符
- 9. 验证的正则表达式与字母数字和特殊字符
- 10. 正则表达式验证程序 - 不采用小写字母
- 11. 正则表达式验证器 - 数字,字母和短划线和空格?
- 12. PHP正则表达式验证字母和西班牙口音
- 13. 是仅验证字母字符正则表达式
- 14. 正则表达式的字母数字
- 15. 正则表达式不字母数字
- 16. 字母数字的正则表达式
- 17. 正则表达式字母数字jquery
- 18. 正则表达式匹配一个字母字母和数字
- 19. 使用正则表达式验证没有位置排序的字母序列
- 20. 表单验证正则表达式除去小写字母
- 21. 用于验证字符和数字的正则表达式
- 22. 用于验证数字和字符的正则表达式
- 23. 正则表达式验证序列
- 24. 正则表达式来验证字母数字连续字符串
- 25. 正则表达式验证器捕获非字母数字字符
- 26. emberjs字段验证正则表达式
- 27. 正则表达式字母数字字符串+特殊字母
- 28. 常规字段表达式验证字母数字值@和点
- 29. 一个大写字母验证正则表达式
- 30. 正则表达式验证空或只有字母
以防万一你以前没去过那里http://www.regular-expressions.info/ –