【发布时间】:2019-03-10 14:48:26
【问题描述】:
我正在尝试检查一个字符串是否没有任何 6 位数字。
$myString = "https://www.website.net/sometext/123456/";
if ( preg_match( '/([^0-9]{6})/', $myString ) ) {
echo 'If';
} else {
echo 'Else';
}
上面的代码回显if,它应该是假的。我不确定我错过了什么。
这就是我想要实现的目标:
"https://www.website.net/sometext/123456/" -> false
"https://www.website.net/sometext/" -> true
"https://www.website.net/" -> true
【问题讨论】:
-
只需让正则表达式检查它并交换条件。您可以单独使用正则表达式(负前瞻),但它的可读性较差。
-
试试这个正则表达式:/([0-9]{6})/
-
要检查任何地方的六位数,只需使用
preg_match('/([0-9]{6})/', $myString) -
一个
1234567不是六位数字,为什么要失败呢?