我需要一个PHP正则表达式来完全匹配以下内容

时间:2014-10-03 20:53:07

标签: php regex

我需要一个匹配以下内容的preg_match函数的正则表达式:

  

a2354 - r2343

5个字符的字符串可以是以下内容:

第一个字符:英文字母中的任何大写/小写字符。

第2至第5个字符:0-9的任何数字。

第一组和第二组5个字符前后必须有空格,但空格应包含任何以空格形式出现的奇怪字符集字符。

它们之间必须有一个匹配' - ' (空格,短划线,空格)虽然空格应该包含任何可以作为空格出现的奇怪字符,短划线应该是任何呈现为短划线的字符。

1 个答案:

答案 0 :(得分:4)

根据您的描述,我认为您正在寻找:

/\s[a-z][0-9]{4}\s-\s[a-z][0-9]{4}\s/i

然而,它有点不清楚。我将其分解,然后包含文档的链接,这样您就可以自己填写不明确的部分。

1) \s: anything considered a "white-space" character
2) [a-z]: the normal English alphabet (lower/uppercase handled by 'i' flag at the end
3) [0-9]: the normal Euro-centric numerals
4) {4}: repeats exactly 4 times

1称为escape sequence;在Character classes记录了2和3; 4是repetition。最后,尾随i称为Pattern modifier