質問
ヌル(空の)文字列をpreg_matchする方法??
次のようなものが必要です:
/([0-9]|[NULL STRING])/
解決
^
を使用して行頭に一致させ、$
を使用して行末に一致させることができます。したがって、正規表現^$
は空の行/文字列に一致します。
特定の例(1桁の数字または空の行/文字列)は、^[0-9]?$
で最も簡単に実現できます。
他のヒント
PHP正規表現を使用すると、次のように言うことができます。
/(\d|)/
役に立つかもしれません...
\0
でヌル文字と一致させることもできます。それは[NULL STRING]の意味ですか?
その式は/([0-9]|\0)/
である可能性があります。
CC番号の最後の4つについて、Javaでこれを行わなければなりませんでした。このフィールドはオプションであるため、空または4桁のいずれかです。私の解決策は:
^\d{4}$|^$
通常のJavaの方法でnullを渡すと、nullポインタ例外が発生します。
String myString = null;
last4Pattern.matcher(myString).matches(); //Null in this case.
ただし、これはJavaの実装の問題であると感じています。
空の文字列を照合するのは簡単ではありませんが、一般に空の文字列ではないものと照合することは可能ですので、それを逆にし、反対は em>(二重否定)。
この例では、ゼロまたは1回(^
)で not (\D
) non 桁(?
)であるすべてのもの:
[^\D]?
(または特定のASCII: [^\x00-\x29\x3a-\xff]?
、またはUnicode: [^\u0000-\u0029\u003a-\uffff]?
)
<!> quot; <!> quot;と一致します。 ( <!> lt; empty string <!> gt; )、<!> quot; 0
<!> quot;、<!> quot; 1
<!> quot; .. <!> quot; 9
<!> quot;ではなく、<!> quot; <!> quot ;,( <!> lt; space <!> gt; )、<!> quot;
A
<!> quot; (数字以外)または<!> quot; 123
<!> quot; (長い文字列)。