¿Símbolo para cualquier número de caracteres en expresiones regulares?


142

Me pregunto si hay un símbolo para cualquier número (incluido cero) de cualquier carácter

Respuestas:



33

Puede usar esta expresión regular (cualquier espacio en blanco o cualquier espacio en blanco) tantas veces como sea posible hasta e incluyendo 0.

[\s\S]*

Esta expresión coincidirá con la menor cantidad posible, pero tantas como sea necesario para el resto de la expresión.

[\s\S]*?

Por ejemplo, en esta expresión regular [\s\S]*?Bcoincidirá aBen aBaaaaB. Pero en esta expresión regular [\s\S]*Bcoincidirá aBaaaaBen aBaaaaB.


¿Hay alguna diferencia entre [\ s \ S] y.?
linqu

8
@linqu, .a veces no coincidirá \n(nueva línea), dependiendo de la opción multilínea, pero [\s\S]coincidirá con cualquier personaje.
agente-j

19

Quieres decir

.*

. cualquier carácter, excepto el carácter de nueva línea, con el modo dotall incluye también los caracteres de nueva línea

* cualquier cantidad de la expresión anterior, incluso 0 veces


4

Me gustaría utilizar .*. .coincide con cualquier carácter, *significa 0 o más ocurrencias. Es posible que necesite un interruptor DOTALL a la expresión regular para capturar nuevas líneas ..


-7

Sí, hay uno, es el asterisco: *

a* // looks for 0 or more instances of "a"

Esto debería estar cubierto en cualquier tutorial o documentación de Java regex que busque.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.