我需要一个匹配以下内容的preg_match
函数的正则表达式:
a2354 - r2343
5个字符的字符串可以是以下内容:
第一个字符:英文字母中的任何大写/小写字符。
第2至第5个字符:0-9的任何数字。
第一组和第二组5个字符前后必须有空格,但空格应包含任何以空格形式出现的奇怪字符集字符。
它们之间必须有一个匹配' - ' (空格,短划线,空格)虽然空格应该包含任何可以作为空格出现的奇怪字符,短划线应该是任何呈现为短划线的字符。
答案 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。