【发布时间】:2014-03-21 16:11:36
【问题描述】:
非常基本的::
任何完全匹配的 3 位数字。
看起来是真的,但它返回假。
为什么这不是真的?
<?php
if ( preg_match( '#\^d{3}$#', '123' ) ) {
echo ':)';
} else {
echo ':(';
}
?>
【问题讨论】:
标签: php function if-statement numbers preg-match
非常基本的::
任何完全匹配的 3 位数字。
看起来是真的,但它返回假。
为什么这不是真的?
<?php
if ( preg_match( '#\^d{3}$#', '123' ) ) {
echo ':)';
} else {
echo ':(';
}
?>
【问题讨论】:
标签: php function if-statement numbers preg-match
你的正则表达式:
\^d{3}$
含义:
\^ - 从字面上匹配字符 ^
d{3} - 从字面上匹配字符 d(正好 3 次)$ - 在字符串末尾断言位置可视化:
简单的英语:它匹配一个看起来像"^ddd"的字符串。
您可能需要的东西:
\d{3}
【讨论】:
如果您想检查任何 3 位数字,请使用:
<?php
if ( preg_match( '/^\d{3}$/', '123' ) ) {
echo ':)';
} else {
echo ':(';
}
?>
这会返回快乐的脸。
【讨论】: