Saltar al contenido

¿Cómo ignorar los espacios en blanco en una cadena de asunto de expresión regular?

Solución:

Puede pegar caracteres de espacio en blanco opcionales s* entre todos los demás caracteres de su expresión regular. Aunque concedido, será un poco largo.

/cats/ -> /cs*as*ts*s/

Abordar el comentario de Steven a la respuesta de Sam Dufel

Gracias, parece que ese es el camino a seguir. Pero me acabo de dar cuenta de que solo quiero los caracteres de espacio en blanco opcionales si siguen una nueva línea. Entonces, por ejemplo, “c n ats” o “ca n ts” deberían coincidir. Pero no querría que “c ats” coincida si no hay una nueva línea. ¿Alguna idea sobre cómo se podría hacer?

Esto debería funcionar:

/c(?:ns*)?a(?:ns*)?t(?:ns*)?s/

Consulte esta página para conocer todas las diferentes variaciones de ‘gatos’ que esto coincide.

También puede resolver esto usando condicionales, pero no son compatibles con la versión javascript de regex.

Si bien la respuesta aceptada es técnicamente correcta, un enfoque más práctico, si es posible, es simplemente eliminar los espacios en blanco tanto de la expresión regular como de la cadena de búsqueda.

Si desea buscar “mis gatos”, en lugar de:

myString.match(/ms*ys*cs*a*sts*ss*/g)

Solo haz:

myString.replace(/s*/g,"").match(/mycats/g)

Advertencia: No puede automatizar esto en la expresión regular simplemente reemplazando todos los espacios con cadenas vacías porque pueden ocurrir en una negación o invalidar su expresión regular.

¡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 *