Hola.
A ver si entiendo El 21-11-2016 a las 12:56 p.m., José Miguel (sio2) escribió:
Un saludo: A ver si alguno sabe cuál es la causa de que falle lo siguiente: Se pretende crear una regex de tipo ERE que concuerde con ilas líneas que contengan cuatro palabras constitutidas por letras. Mi solución es esta: ^\W*(?[[:alpha:]]+\b\W*){4}$ Pero resulta que no me funciona bien:
si tengo por ejemplo. uno dos 4cuatro letras es lo que necesito abcd 1234 caja tapa c4ja tapa esta noes caja tapa esta vale Solo debería mostrar la última línea ¿Entendí bien?
$ grep -E '^\W*(?[[:alpha:]]+\b\W*){4}$'<<<"affffff b cx" affffff b cx Sin embargo, la expresión PCRE correspondiente sí funciona bien: $ grep -P '^\W*(?:[[:alpha:]]+\b\W*){4}$'<<<"affffff b cx" y no devuelve salida. Por más que miro y remiro la expresión regular, me parece que está bien. ¿A alguien se le ocurre algo, o es error que debo achacar a grep?
Saludos. -- Juan M Lavieri Errar es de humanos, pero es mas humano culpar a los demás.