termina solo regulares regular numeros expresiones expresion especiales espacio ejemplos con caracteres blanco alfanumerico regex ack

solo - regex termina con



ack regex: uniendo dos palabras en orden en la misma lĂ­nea (1)

Desea buscar word_1 , seguido de cualquier cosa, cualquier número de veces, seguido de word_2 . Eso debería ser

word_1.*word_2

Parece que estás usando * como se usa a menudo en las búsquedas en la línea de comandos, pero en expresiones regulares es un cuantificador para el carácter anterior, lo que significa que coincida al menos 0 veces. Por ejemplo, la expresión regular a* coincidirá con 0 o más a s, mientras que la expresión regular a+ coincidirá con al menos una a .

El metacarácter regex que significa "coincidir con cualquier cosa" es . , entonces .* "significa" coincidir con cualquier cosa, cualquier número de veces. Consulte perlrequick para obtener una breve introducción sobre el tema.

Me gustaría encontrar líneas en archivos que incluyan dos palabras, word_1 y word_2 en orden, como en la Line A continuación, pero no como en la Line B o la Line C :

Line A: ... word_1 .... word_2 .... Line B: ... word_1 .... Line C: ... word_2 ....

Yo he tratado

$ack ''*word_1*word_2'' $ack ''(word_1)+*(word_2)+''

y los mismos comandos con ^ final de la expresión regular (en un intento de seguir la sintaxis de expresión regular de Perl).

Ninguno de estos comandos devuelve los archivos o las líneas que me interesan.

¿Qué estoy haciendo mal?

¡Gracias!