匹配七个数字和一个字母的正则表达式

时间:2015-01-29 14:05:28

标签: php regex preg-match

当我匹配6个数字时,它起作用

preg_match('/^[0-9]{6}$/',$keywords);

但是当我尝试为单个字母添加匹配时,没有人可以帮助我。

preg_match('/^[0-9]{6}[A-Z]{1}$/',$keywords);

2 个答案:

答案 0 :(得分:2)

  

RegEx匹配6位数字和1个字母的字符串,而字母可以放在任何地方。

^(?=[^A-Za-z]*[A-Za-z][^A-Za-z]*$)[\dA-Za-z]{7}$

DEMO

  

我希望匹配一个以6位数开头并以大写或小写字母结尾的字符串

^\d{6}[A-Za-z]$

答案 1 :(得分:0)

我认为用纯RegEx无法做到这一点。但是使用字符串长度,你可以这样做:

if(strlen($string) === 7 && prey_match('/^[0-9]*[a-zA-Z][0-9]*$/', $string) {

RegEx检查由任意数量的数字包围的一个字母,strlen检查确保字符串长度为7,使字符串为6位和1个字母。

修改

我纠正了,Avinash Raj发布了一个实际可以做到的RegEx。