[英]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.