Expressões regulares do Python, localize o domínio de email em Endereço
Sei que sou um idiota, mas não consigo extrair o domínio deste endereço de email:
'[email protected]'
Minha saída desejada:
'@gmail.com'
Minha saída atual:
.
(é apenas um caractere de ponto)
Aqui está o meu código:
import re
test_string = '[email protected]'
domain = re.search('@*?\.', test_string)
print domain.group()
Aqui está o que eu acho que minha expressão regular diz ('@ * ?.', test_string):
' # begin to define the pattern I'm looking for (also tell python this is a string)
@ # find all patterns beginning with the at symbol ("@")
* # find all characters after ampersand
? # find the last character before the period
\ # breakout (don't use the next character as a wild card, us it is a string character)
. # find the "." character
' # end definition of the pattern I'm looking for (also tell python this is a string)
, test string # run the preceding search on the variable "test_string," i.e., '[email protected]'
Estou baseando isso nas definições aqui:
http: //docs.activestate.com/komodo/4.4/regex-intro.htm
Além disso, procurei, mas outras respostas eram um pouco difíceis demais para eu entende
Ajuda é muito apreciada, como de costume. Obrigado
Minhas coisas, se importa:
Windows 7 Pro (64 bits)
Python 2.6 (64 bits)
PS. Quesiton StackOverflow: Minhas postagens não incluem novas linhas, a menos que eu aperte "return" duas vezes entre elas. Por exemplo (todos estão em uma linha diferente quando estou postando):
@ - encontre todos os padrões começando com o símbolo de arroba ("@") * - encontre todos os caracteres após o "e" comercial? - encontre o último caractere antes do início do período \ - (não use o próximo caractere como curinga, ele é um caractere de seqüência de caracteres). - encontre o "." caractere, sequência de teste - execute a pesquisa anterior na variável "test_string", ou seja, 'blahblah @ gmail.com'
É por isso que tenho uma linha em branco a cada linha acima. O que estou fazendo errado? THX