Saltar al contenido

Regex cómo hacer coincidir un carácter opcional

Sé libre de divulgar nuestro espacio y códigos en tus redes sociales, necesitamos de tu ayuda para aumentar nuestra comunidad.

Solución:

Usar

[A-Z]?

para que la letra sea opcional. 1 es redundante (Por supuesto, también podrías escribir [A-Z]0,1 lo que significaría lo mismo, pero eso es lo que ? está ahí para.)

Podrías mejorar tu expresión regular para

^([0-9]5)+s+([A-Z]?)s+([A-Z])([0-9]3)([0-9]3)([A-Z]3)([A-Z]3)s+([A-Z])[0-9]3([0-9]4)([0-9]2)([0-9]2)

Y, dado que en la mayoría de los dialectos de expresiones regulares, d es lo mismo que [0-9]:

^(d5)+s+([A-Z]?)s+([A-Z])(d3)(d3)([A-Z]3)([A-Z]3)s+([A-Z])d3(d4)(d2)(d2)

Pero: ¿realmente necesitas 11 grupos de captura separados? Y si es así, ¿por qué no captura el penúltimo grupo de dígitos?

Puede hacer que la letra única sea opcional agregando un ? después de eso como:

([A-Z]1?)

el cuantificador 1 es redundante, por lo que puede soltarlo.

También debe marcar la letra única como opcional:

([A-Z]1)? +.*? +

o hacer que toda la parte sea opcional

(([A-Z]1) +.*? +)?

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *