我想要一個正則表達式來驗證形式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/ –