¿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

Skizit
fuente

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.

agente-j
fuente
¿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

Stema
fuente
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 ..

Dolor
fuente
-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.

Loduwijk
fuente