题
如何为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
” (任何更长的字符串)。
不隶属于 StackOverflow