我被正则表达式卡住了,我需要帮助。所以基本上我想这样做:
$data = "hi";
$number = 4;
$reg = '/^[a-z"]{1,4}$/';
if(preg_match($reg,$data)) {
echo 'Match';
}else {
echo 'No match';
}
但我想用变量
$reg = '/^[a-z"]{1, variable here }$/';
我试过:
$reg = '/^[a-z"]{1, '. $number .'}$/';
$reg = "/^[a-z\"]{1, $number}$/";
但没有得到正确的结果。
Tnx帮助
2条答案
按热度按时间7uzetpgm1#
在第一个例子中,你有一个额外的空间,你不应该有一个。
此外,你应该总是引用这样的变量,因为它可能包含regex识别的特殊字符。你应该有:
那就没问题了
rbl8hiat2#
在正则表达式中使用变量的另一种方法是使用sprintf。
举例来说: