RegEx模式任意两个字母后跟六个数字

Fer*_*gus 22 regex

请协助正确的RegEx匹配.任何2个字母后跟6个整数的任意组合.

These would be valid: 
RJ123456
PY654321
DD321234

These would not
DDD12345
12DDD123
Run Code Online (Sandbox Code Playgroud)

Isr*_*man 72

[a-zA-Z]{2}\d{6}

[a-zA-Z]{2}表示两个字母 \d{6}表示6位数字

如果您只想要大写字母,那么:

[A-Z]{2}\d{6}

  • 你忘了从^开始,否则,如果你有超过2个字母,它将部分匹配. (5认同)

Rob*_*bie 18

你可以尝试这样的事情:

[a-zA-Z]{2}[0-9]{6}
Run Code Online (Sandbox Code Playgroud)

这是表达式的细分:

[a-zA-Z]    # Match a single character present in the list below
               # A character in the range between “a” and “z”
               # A character in the range between “A” and “Z”
   {2}         # Exactly 2 times
[0-9]       # Match a single character in the range between “0” and “9”
   {6}         # Exactly 6 times
Run Code Online (Sandbox Code Playgroud)

这将匹配主题中的任何位置.如果您需要围绕主题的边界,那么您可以执行以下任一操作:

^[a-zA-Z]{2}[0-9]{6}$
Run Code Online (Sandbox Code Playgroud)

这确保整个主题匹配.即在主题之前或之后没有任何内容.

要么

\b[a-zA-Z]{2}[0-9]{6}\b
Run Code Online (Sandbox Code Playgroud)

这确保了主题每一侧都有一个单词边界.

正如@Phrogz所指出的那样,你可以通过在其他一些答案中替换[0-9]for a 来使表达更加简洁\d.

[a-zA-Z]{2}\d{6}
Run Code Online (Sandbox Code Playgroud)


eso*_*ope 7

我取决于你使用的正则表达式语言是什么,但非正式地说,它将是:

[:alpha:][:alpha:][:digit:][:digit:][:digit:][:digit:][:digit:][:digit:]
Run Code Online (Sandbox Code Playgroud)

在哪里[:alpha:] = [a-zA-Z][:digit:] = [0-9]

如果您使用允许有限重复的正则表达式语言,那将看起来像:

[:alpha:]{2}[:digit:]{6}
Run Code Online (Sandbox Code Playgroud)

正确的语法取决于您使用的特定语言,但这就是主意.