¿Cómo uso esta expresión regular con grep?

¿Cómo uso esta expresión regular con grep?

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 grepcon PCRE, expresión regular compatible con Perl ( -P)

Por lo tanto, necesita grep -Py para capturar solo la parte coincidente -o:

% grep -Po '(?:([bcdfghjklmnpqrstvwxzy])(?!.{1,2}\1)){3}' <<<'foobarspfb'
rsp

información relacionada