繁体   English   中英

RegExp与模式数组不匹配

[英]RegExp not matching for array of patterns

我需要检查“如果不匹配”。 匹配是否正常:

<?php
   $string1 = 'BB123';
   $string2 = 'ZZ123';

   $pattern = '/^(AA.*|BB.*|CC.*)$/';

   echo preg_match($pattern, $string1);
   echo preg_match($pattern, $string2);

我收到1和0,这没关系。 但如果改变模式

$pattern = '/^(?!AA.*|BB.*|CC.*)$/';

我收到了00。

通过仅更改模式帮助我收到0和1。

    ^(?!AA.*|BB.*|CC.*).*$

使用此选项。如果否定前瞻失败,则接受字符串。*。

你可以试试这个

<?php
    $string1 = 'BB123';
   $string2 = 'ZZ123';

   $regexp = "(AA.*)|(BB.*)|(CC.*)"; 

   $pattern = "/^((?!(".$regexp.")).)*$/";

   echo preg_match($pattern, $string1);
   echo preg_match($pattern, $string2);
   ?>

演示

暂无
暂无

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

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