在使用正则表达式时,我仍然是一个新手。我正在尝试设置一个正则表达式,其中“0”永远不会匹配,如果它本身。我有5个测试表达式。最后4个应该匹配,第一个不应该匹配。但是我似乎只能让mid3匹配。如何设置它以使最后一个匹配呢?
<?php
$data1='0';
$data2='New Triggered By Test 01';
$data3='Hello';
$data4='01 Test';
$data5='00';
$pattern='/[^0]{1}/';
echo preg_match($pattern,$data1);
echo preg_match($pattern,$data2);
echo preg_match($pattern,$data3);
echo preg_match($pattern,$data4);
echo preg_match($pattern,$data5)
?>
答案 0 :(得分:2)
您想要匹配的是
0
试试这个:
"#^([^0]|.{2,})$#"
评论:
"/^ # begining of the input string
(
[^0] # one char, everything but zero
|.{2,} # or any sequence of more than one char
)$/"
测试脚本:
$inputs = array(
'0',
'New Triggered By Test 01',
'Hello',
'01 Test',
'00',
);
foreach($inputs as $input) {
echo "$input: ";
if (preg_match("#^([^0]|.{2,})$#", $input)) {
echo "OK\n";
} else {
echo "NOT OK\n";
}
}
答案 1 :(得分:1)
让我们保持简单:
$data !== '0';
答案 2 :(得分:1)