Expressão regular de número de telefone (Regex) em Python
Mergulhe no python fornece um pequeno tutorial incrível sobre como criar uma expressão regular para números de telefone:http://diveintopython3.ep.io/regular-expressions.html#phonenumbers
A versão final sai assim:
phone_re = re.compile(r'(\d{3})\D*(\d{3})\D*(\d{4})\D*(\d*)Isso funciona bem para quase todos os exemplos que posso apresentar, no entanto, encontrei uma falha bastante grande que não consigo consertar.
Se um grupo de 3 dígitos chegar antes do número de telefone, ele funcionará bem. IE: "500 dólares de desconto, ligue para 123-456-7891"
Se um grupo de 3 dígitos vier depois do número de telefone, ele falhará. IE: "Ligue para 123-456-7891 para obter um desconto de até 500"
Alguma idéia de uma correção que funcionaria para os dois exemplos?
, re.VERBOSE)
Isso funciona bem para quase todos os exemplos que posso apresentar, no entanto, encontrei uma falha bastante grande que não consigo consertar.
Se um grupo de 3 dígitos chegar antes do número de telefone, ele funcionará bem. IE: "500 dólares de desconto, ligue para 123-456-7891"
Se um grupo de 3 dígitos vier depois do número de telefone, ele falhará. IE: "Ligue para 123-456-7891 para obter um desconto de até 500"
Alguma idéia de uma correção que funcionaria para os dois exemplos?