Soy nuevo en expresiones regulares y encontré un comando en un sitio de prueba/tutorial de expresiones regulares que me permitirá buscar 3 consonantes consecutivas. El único problema es que no sé cómo usarlo con grep. ¿Alguien me ayudaría? Estoy intentando buscar un archivo de texto de lista de palabras usando:
(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}
Respuesta1
El patrón Regex que tienes contiene:
- Grupo sin captura,
(?:)
- Previsión negativa de ancho cero,
(?!)
que solo son compatibles grep
con PCRE, expresión regular compatible con Perl ( -P
)
Por lo tanto, necesita grep -P
y para capturar solo la parte coincidente -o
:
% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp