[英]regex partial match for several different groups
我需要regexp來匹配來自多個組的字符串構建(A是任何字母,9是任何數字):
第1組正則表達式[AZ] {1,2} [0-9]?
A
A9
AA9
第2組正則表達式[AZ] {1,3} [0-9]?
A
AA
AAA
AAA9
第3組正則表達式[AZ] {2,3} [0-9]?[AZ]?
AAA
AA9
AA9A
第4組正則表達式[0-9] {1,2} [AZ] {1,2} [0-9]?
9A
9AA
9A9
99A9
並非每個組都必須存在,但是所有組都必須以正確的順序排列-我的意思是(數字是組號):
1
12
123
1234
因此,如果存在第3組,那么所有前面的組也必須存在。
由於有四個組(可以更多),所以替代方案就像
^[A-Z]{1,2}[0-9]{1}|[A-Z]{1,2}[0-9]{1}\s{1}[A-Z]{1}[0-9]?$
並非最佳選擇,因為它很復雜且難以維護。 團體或其他解決方案嗎? 組的順序很重要。
此正則表達式將匹配您提供的所有字符串:
^[A-Z]+[0-9]*(\s+[A-Z]+[0-9]*)+$
和無限的單詞。
怎么樣:
^[A-Z]{1,2}[0-9]?(?:\s+[A-Z]{1,3}[0-9]?(?:\s+[A-Z]{2,3}[0-9]?[A-Z]?(?:\s+[0-9]{1,2}[A-Z]{1,2}[0-9]?)?)?)?$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.