繁体   English   中英

PHP中的简单正则表达式模式

[英]Simple regex pattern in PHP

我需要匹配字符串的前几个字符。 如果满足,则匹配为true:

  1. 第一个字符是字母(不区分大小写)
  2. 第二个字符是数字或字母
  3. 如果第二个字符是数字,则匹配返回true
  4. 如果第二个字符是字母,则第三个字符必须是数字
  5. 该模式将忽略字符串中的所有其他后续字符

例子:

AB1ghRjh  //true
c1        //true
G44       //true
Tt7688    //true
kGF98d    //false
4FG3      //false
4 5a      //false
RRFDE     //false

如果有人可以提供示例,将不胜感激。

非常感谢!

正则表达式将是

^[a-zA-Z](\d|[a-zA-Z]\d).*
/^(?:[a-z]{2}|[a-z])\d.*$/im

说明:

^   # Start of string
    (?: # Start non-capturing group
        [a-z]{2}    # Two letter
        |   # OR
        [a-z]   # One letter
    )   # End of non-capturing group
    \d  # At least a digit here
    .*  # Escape all other characters
$   # End of string

i标志表示不区分大小写, m标志表示make ^$在每一行都进行匹配(如果您输入的内容不是换行符,则为可选)

现场演示

然后使用preg_match函数匹配字符串:

if(preg_match("/^(?:[a-z]{2}|[a-z])\d.*$/i", "AB1ghRjh"))
{
    echo "Matched";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM