正则表达式具有以下条件

时间:2014-11-04 15:20:36

标签: php regex preg-match

我试图通过匹配以下条件的正则表达式来理解正则表达式的工作原理:

  1. 字符串必须以一个或多个字母数字字符开头。
  2. 字符串后面必须跟一个'@'符号
  3. 字符串必须紧跟在'@'
  4. 之后的字符串'asa'后面
  5. 字符串后面必须跟一个包含一个或多个0和/或1的
  6. 的字符串
  7. 字符串必须后跟另一个@
  8. 字符串后面必须跟有一个或多个特殊字符和/或数字的集合,没有字母
  9. 字符串必须以'abc'结尾
  10. 我在第4步,现在我陷入困境,想知道是否有人可以提供一些建议:

    $pattern = "/^[a-zA-Z0-9@]+@+[asa]+[01]/";
    $subject = "abcB123Ccac@asa01";
    echo preg_match($pattern,$subject) ? 'MATCH' : 'NO MATCH';
    

1 个答案:

答案 0 :(得分:2)

您可以尝试下面的正则表达式。

^[A-Za-z0-9]+@asa[01]+@[^A-Za-z]+abc$

代码将是,

$pattern = "~^[A-Za-z0-9]+@asa[01]+@[^A-Za-z]+abc$~";
$subject = "abcB123Ccac@asa01";
echo preg_match($pattern,$subject) ? 'MATCH' : 'NO MATCH';
  1. 字符串必须以一个或多个字母数字字符开头。

    ^[A-Za-z0-9]+
    
  2. 字符串后面必须跟一个' @'登录

    @
    
  3. 字符串必须后跟字符串' asa'紧跟在' @'

    之后
    asa
    
  4. 字符串后面必须跟一个包含一个或多个0&s和/或1&#39的字符串

    [01]+
    
  5. 字符串必须后跟另一个@

    @
    
  6. 字符串后面必须跟一个或多个特殊字符和/或数字的集合,没有字母(不包括字母)

    [^A-Za-z]+
    
  7. 字符串必须以' abc'

    结尾
    abc$