regular preg_match_all preg_match preg palabra online matches all regex preg-match

regex - preg_match_all - Preg Match Empty String



regex preg_match_all (5)

Como no es fácil hacer coincidir una cadena vacía, pero en general es posible hacer coincidir cualquier cosa que no sea una cadena vacía, considere darle la vuelta y no coincidir con lo contrario (doble negativo).
En este ejemplo, todo lo que no es ( ^ ) un sin dígitos ( /D ) para cero o una vez ( ? ):

[^/D]?

(o para ascii específico: [^/x00-/x29/x3a-/xff]? o unicode: [^/u0000-/u0029/u003a-/uffff]? )

Coincide con "" ( <cadena vacía> ), " 0 ", " 1 ", " 9 ", pero no con " ", ( <espacio> )," A "(no dígito) o" 123 "(cadena más larga).

¿Cómo preg_match para una cadena nula (vacía)?

Necesito algo como:

/([0-9]|[NULL STRING])/


Con la expresión regular de PHP, puede decir:

/(/d|)/

Puede ser útil ...


Puede usar ^ para unir el comienzo de la línea, y $ para unir el final de la línea, por lo tanto, la expresión regular ^$ coincidiría con una línea / cadena vacía.

Su ejemplo específico (una línea / cadena que contiene un solo dígito o está vacío) sería más fácil de lograr con ^[0-9]?$ .


También puede hacer coincidir un carácter nulo con /0 . ¿Es eso lo que quisiste decir con [NULL STRING]? Esa expresión podría ser /([0-9]|/0)/ .


Tuve que hacer esto, en Java, durante los últimos 4 por un número CC. El campo es opcional por lo que podría estar vacío o 4 dígitos. Mi solución es:

^/d{4}$|^$

Está pasando esto un nulo en los resultados típicos de la moda de Java en una excepción de puntero nulo:

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

Sin embargo, creo que es más un problema de implementación de Java.