如何为null(空)字符串preg_match ??

我需要类似的东西:

/([0-9]|[NULL STRING])/
有帮助吗?

解决方案

您可以使用^匹配行首和$匹配行尾,因此正则表达式^$将匹配空行/字符串。

使用^[0-9]?$最容易实现您的具体示例(包含单个数字或为空的行/字符串)。

其他提示

使用PHP正则表达式,您可以说:

/(\d|)/

它可能有用......

您还可以将空字符与\0匹配。那是[NULL STRING]的意思吗? 那个表达式可能是/([0-9]|\0)/

我必须在java中为CC编号的最后4个执行此操作。该字段是可选的,因此它可以是空的,也可以是4位数。我的解决方案是:

^\d{4}$|^$

在典型的java方式中传递此null会导致空指针异常:

String myString = null;
last4Pattern.matcher(myString).matches(); //Null in this case.

但是,我觉得这更像是一个Java实现问题。

由于匹配空字符串并不容易,但通常可以匹配任何不是空字符串的内容,请考虑将其转过来,匹配对面(双阴)。
在此示例中, ^ -digit( \ D )的所有内容均为零或一次():

<代码> [^ \ d]

(或针对特定的ascii: [^ \ x00- \ x29 \ x3a- \ xff]? ,或unicode: [^ \ u0000- \ u0029 \ u003a- \ uffff]

匹配“&quot; (&lt;空字符串&gt; ),&quot; 0 &quot;,&quot; 1 &QUOT; ..“ 9 &quot;,但不是” “,(&lt; space&gt; ) ,“ A &quot; (非数字)或“ 123 ” (任何更长的字符串)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top