簡體   English   中英

如何縮短此正則表達式?

[英]How do I shorten this regex?

我想,讓字符串開始與大寫字母和前兩個字符不應包含NL但其他字母像DE,BE等。

這是我在JavaScript中的操作方法

str.substring(0,2).match(/^[ABCDEFGHIJKLMOPQRSTUVWXYZ]+[ABCDEFGHIJKMNOPQRSTUVWXYZ]+$/)

我想將其縮短到范圍。 我嘗試使用這些范圍表達式[A-MO-Z],[AM] [OZ] +,但它們都不起作用。

編輯:我嘗試了這些表達式,但它們不起作用

str.substring(0,2).match(/^[A-MO-Z]+[A-KM-Z]+$/)
str.substring(0,2).match(/^[A-M][O-Z]+[A-K][M-Z]+$/)
str.substring(0,2).match(/^([A-M][O-Z])+([A-K][M-Z])+$/)

這是一個正面的主要用例:

str.match(/^(?!NL)[A-Z]{2}/)

請注意,這將允許NA, NB, NC, ...AL, BL, CL, ... ,而不是專門允許NL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM