如何在PHP中preg_match一个可以为NULL的变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在PHP中preg_match一个可以为NULL的变量?相关的知识,希望对你有一定的参考价值。

我今天遇到了php函数preg_match的问题。

我想匹配一个字符串($test='123456789012')或$test = NULL中的确切12个字符

我的问题是OR NULL调用如何RegEx为这个NULL变量。

试过:preg_match("/^([\w.-]{12})|(NULL)$/",$test);

答案

NULL值不是字母为NULL的字符串文字,所以如果你在NULL中搜索NULL,它们永远不会匹配。

你可以做

if($test)
    preg_match("/^([\w.-]{12})$/",$test);
else
    //whatever works
另一答案

稍晚,但你可以尝试'^ $'来匹配NULL:

preg_match('/^[\w.-]{12}$|^$/',$test);

以上是关于如何在PHP中preg_match一个可以为NULL的变量?的主要内容,如果未能解决你的问题,请参考以下文章

js 如何正则匹配多个,像php 的preg_match()

使用 preg_match 在 PHP 中解析 A​​pache 日志

PHP preg_match 在 <td> 中提取日期/时间并转换为 Unix 时间

PHP preg_match为十六进制字符串

如何使用 preg_match php 函数获取 Dailymotion 代码? [复制]

正则表达式,PHP preg_match 使函数如何在字符串以 start_to_date 开头时返回 true [重复]