[英]How to write repeating Regex pattern in JavaScript
如何在JavaScript中為以下模式編寫正則表達式:
1 | dc35_custom | 3; od; CZY; GL | 2; ob; BNP; MT | 4; sd; ABC; MT | 5; ih; DFT; FR | 6; oh; AQW; MT | 7; ip; CAN; MT | 8; op; CAR; MT | 9; ec; SMO; GL | 10; do; CZT; KU |
哪里
1|dc35_custom|
是固定的。 3;od;CZY;GL| 2;ob;BNP;MT|
,依此類推。 其中的第一個字符為2-11,請勿重復。 例如,第3
模式中出現了3
,因此不應再次出現。
我為此做出了很多假設,但這是一個難題:
1\|dc35_custom\|(([2-9]|10|11);[a-z]{2};[A-Z]{3};[A-Z]{2}\|){9}
1\\|dc35_custom\\|
只是文字文本,轉義了豎線運算符 ([2-9]|10|11)
將匹配2到11之間的任何數字。 [az]{2}
將匹配兩個小寫字母 [AZ]{3}
將匹配三個大寫字母 [AZ]{2}
將匹配兩個大寫字母 {9}
尋找括號中整個序列的九個連續匹配項 正如Amadan指出的那樣,它不會檢查唯一性,因為這超出了正則表達式的用途。
有點棘手,但是你去了
正則表達式: /^1\\|dc35_custom(?:\\|([2-9]|1[01]);[az]{2};[AZ]{1,3};[AZ]{1,2}){9}\\|$/
和單元測試: https : //regex101.com/r/lU6sJ6/2 (點擊左側的“單元測試”)
我假設以下內容:
3;od;CZY;GL
的第一部分是2-11到不能重復的數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.