Saltar al contenido

Regex para encontrar dos palabras en la página

Solución:

Si su IDE es compatible con s (linea sola) bandera (por lo que . carácter puede coincidir con nuevas líneas), puede buscar sus elementos con:

(text1).*(text2)|2.*1

Ejemplo con s bandera

Si el IDE no es compatible con s bandera, necesitarás usar [sS] en lugar de .:

(text1)[sS]*(text2)|2[sS]*1

Ejemplo con [sS]

Algunos idiomas usan $1 y $2 en lugar de 1 y 2, por lo que es posible que deba cambiar eso.

EDITAR:

Alternativamente, si simplemente desea hacer coincidir que un archivo contiene ambas cadenas (pero en realidad no seleccionar nada), puede utilizar búsquedas anticipadas:

(?s)^(?=.*?text1)(?=.*?text2)

A esto no le importa el orden (o el número) de los argumentos, y para cada texto adicional que desee buscar, simplemente agregue otro (?=.*?text_here). Este enfoque es bueno, ya que incluso puede incluir expresiones regulares en lugar de cadenas simples.

text0[sS]*text1

Prueba esto. Esto debería hacerlo por ti.

Lo que hace esto es hacer coincidir todos, incluyendo multilínea. Similar a tener .*? con s bandera.

s cuidar algo spaces,newlines,tabs
S se ocupa de cualquier carácter que no sea de espacio.

Si desea que la expresión regular coincida con varias líneas, probaría:

text1[wW]*text2

Utilizando . no es una buena opción, porque normalmente no coincide en varias líneas. Además, para hacer coincidir caracteres individuales, creo que usar corchetes es más idiomático que usar ( ... | ... )

Si desea que la coincidencia sea independiente del orden, use esto:

(?:text1[wW]*text2)|(?:text2[wW]*text1)
¡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 *