如何为null(空)字符串preg_match ??
我需要类似的东西:
/([0-9]|[NULL STRING])/
答案 0 :(得分:61)
您可以使用^
来匹配行首和$
以匹配行尾,因此正则表达式^$
将匹配空行/字符串。
使用^[0-9]?$
最容易实现您的具体示例(包含单个数字或为空的行/字符串)。
答案 1 :(得分:5)
使用PHP正则表达式,您可以说:
/(\d|)/
它可能有用......
答案 2 :(得分:1)
您还可以将空字符与\0
匹配。那是[NULL STRING]的意思吗?
该表达式可以是/([0-9]|\0)/
。
答案 3 :(得分:1)
我必须在java中为CC编号的最后4个执行此操作。该字段是可选的,因此它可以是空的,也可以是4位数。我的解决方案是:
^\d{4}$|^$
在典型的java方式中传递此null会导致空指针异常:
String myString = null;
last4Pattern.matcher(myString).matches(); //Null in this case.
但是,我觉得这更像是一个Java实现问题。
答案 4 :(得分:0)
由于匹配空字符串并不容易,但通常可以匹配任何不是空字符串的内容,请考虑将其转过来,不匹配对面(双重否定)。
在此示例中,不(^
)非 -digit(\D
)的所有内容均为零或一次({{1} }):
?
(或针对特定的ascii: [^\D]?
,或unicode: [^\x00-\x29\x3a-\xff]?
)
匹配“”(<空字符串> ),“ [^\u0000-\u0029\u003a-\uffff]?
”,“ 0
“..” 1
“,但不是”9
“,(< space> ),” {{1 } “(非数字)或” “(任何更长的字符串)。