preg_match两个字母,五个数字,两个字母

时间:2013-01-11 15:21:37

标签: php regex preg-match

我对正则表达式太可怕了,我只是不理解他们而且我会感谢所有人的帮助。

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

我得到这个以匹配五个数字(^[0-9]{5}$),但只是复制这个不起作用,我觉得因为无法解决它而感到愚蠢。

提前谢谢你。

3 个答案:

答案 0 :(得分:7)

最简单易懂,写作时间最长

[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

抓住parens:

(^[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

答案 1 :(得分:5)

然后试试这个:

(^[A-Z]{2}[0-9]{5}[A-Z]{2}$)

答案 2 :(得分: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}

希望它会有所帮助。