A python regexp está usando a sintaxe de expressão regular estendida que vem do comando egrep nos anos 70 (embora a parte {...} tenha sido adicionada posteriormente e, na verdade, em grep antes de egrep ). / p>
O POSIX consolidou os comandos grep e egrep ( egrep é agora grep -E ) nos anos 90 e padronizou o operador {x,y} (que não estava disponível no egrep s anterior).
Então, agora, você deve poder usar grep -E 'that-regexp' com todas as implementações grep modernas.
Observe que seu regexp permitiria 299.299.299.299 e o {1} s seria redundante. {0,1} pode ser reduzido para ? .
Observe que grep localizam linhas que correspondem ao regexp, ou seja, linhas que contêm uma string que corresponde ao regexp em qualquer lugar. Use ^ e $ para ancorar ou use a opção -x para grep .