Como usar o regex BRE ou ERE para corresponder a um padrão que não tenha uma string específica

2

Como usar um posix BRE ou um posix ERE regex para corresponder a uma linha que não contenha 834 em nenhum lugar da string?

Eu quero encontrar grep '!<pattern>' file , que será igual a grep -v '<pattern>' file .

É uma questão teórica sobre regex, é por isso que não quero usar -v flag.

Eu descobri como listar linhas, que não contêm um caractere: ^[^8]*$ , no meu caso eu também tentei ^$|^.$|^..$|^([^8]..|.[^3].|..[^4])*$ , mas isso não está funcionando como esperado.

    
por Ivan Chebykin 16.11.2015 / 20:16

1 resposta

2

O padrão ^([^8]*(8([^38]|3[^4])+)*)+$ deve funcionar, graças ao mikeserv, que apontou para mim.

    
por 29.11.2015 / 20:32