![](/img/trans.png)
[英]How to write a javascript regex to check for a single character that can be followed by anything but 3 specific characters
[英]How to write a RegEx to check for a certain, specific number of characters?
我正在嘗試為狀態代碼測試字符串,我擁有的正則表達式是
^A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY]$
問題是,如果我將“ CTA12”之類的東西作為測試字符串,它將獲得CT匹配項。 如何修改我的正則表達式,使其僅匹配不屬於較大字符串的狀態代碼?
您使用的錨交替使用是不正確的, ^AB|DC$
表示“以AB
開頭或以DC
結尾的字符串”。 為了使^
和$
都適用於交替的每個元素,您需要將交替放在一個組中,例如^(AB|DC)$
。
嘗試將正則表達式更改為以下內容:
^(A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$
使用組的另一種方法是將^
和$
作為交替元素中每個元素的一部分,例如^AB$|^DC$
,但這會使您的正則表達式長得多,因此使用組是一種方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.