如何在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的变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何从Java中的字符串中删除nul字符(\ 0)

PHP缓存高使用ram

如何在某些元素中处理带有 nul char 的 CSV 行?

如何使 Microsoft BCP 导出空字符串而不是 NUL 字符?

屏蔽回显

AWS Pinpoint:活动目标端点为 Nul