我试图preg_match这个字符串。
$word = "$1$s";
or
$word = "$2$s"
if(preg_match('/^\$[1-9]{1}\$s$/' ,$word)){
echo 'true';
} else {
echo 'false';
}
我尝试了这个,但它没有给出真正的结果。 我怎样才能做到这一点。
答案 0 :(得分:4)
PHP正在尝试render the variable $s
in the double quoted string。改为使用单引号,您可以删除正则表达式中的{1}
,因为它不是必需的。
$word = '$1$s';
if (preg_match('/^\$[1-9]\$s$/', $word)) {
echo 'true';
} else {
echo 'false';
}
您还可以在双引号字符串中转义$
:
$word = "$1\$s";
// Note $1 doesn't need to be escaped since variables can't start with numbers
最后,您可以通过查看$word
实际相等的内容(启用错误报告)来了解原因无效:
$word = "$1$s"; // Notice: Undefined variable: s on line #
echo $word; // $1
答案 1 :(得分:-1)
试试这个:
if(preg_match('/\$[1-9]{1}\$s/',$word)){
echo 'true';
} else {
echo 'false';
}