如何缩短此正则表达式?

Raj*_*han 0 javascript regex expression

我想,让字符串开始与大写字母和前两个字符应该包含NL但其他字母像DE,BE等.

这是我在javascript中的方式

str.substring(0,2).match(/^[ABCDEFGHIJKLMOPQRSTUVWXYZ]+[ABCDEFGHIJKMNOPQRSTUVWXYZ]+$/)
Run Code Online (Sandbox Code Playgroud)

我想将它缩短到范围.我尝试使用这些范围表达式[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])+$/)
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 5

这是一个负面展望的主要用例:

str.match(/^(?!NL)[A-Z]{2}/)
Run Code Online (Sandbox Code Playgroud)

请注意,这将允许NA, NB, NC, ...AL, BL, CL, ...,只是没有NL明确.