1

我在正则表达式方面很糟糕,我只是不理解它们,我会感谢任何理解它们的人的帮助。

我需要能够匹配两个 AZ 字符,然后是五个 0-9 字符,然后是两个 AZ 字符。一个例子是AB12345CD

我得到这个来匹配五个数字(^[0-9]{5}$),但只是复制它是行不通的,而且我因为无法弄清楚它而感到非常愚蠢。

先感谢您。

4

3 回答 3

8

最简单的理解,最长的写

[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z]

更短:

[A-Z]{2}[0-9]{5}[A-Z]{2}

仅完整的行:

^[A-Z]{2}[0-9]{5}[A-Z]{2}$    // ^ - start of line; $ - end of line

在括号中捕获:

(^[A-Z]{2}[0-9]{5}[A-Z]{2}$)  // as per mpaepper, for reuse in matched expression

更短:

(^[A-Z]{2}\d{5}[A-Z]{2}$)     //  \d represents 0-9
于 2013-01-11T15:24:47.003 回答
6

然后试试这个:

(^[A-Z]{2}[0-9]{5}[A-Z]{2}$)
于 2013-01-11T15:24:00.390 回答
1

你可以尝试这样的事情:

[A-Z]{2}[0-9]{5}[A-Z]{2}

下面是表达式的分解:

[A-Z]    # Match a single character present in the list below
               # 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”
   {5}         # Exactly 5 times

或者你可以尝试如下

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

希望它会有所帮助。

于 2013-01-11T15:31:16.510 回答