Я знаю, что я идиот, но я не могу вытащить домен из этого адреса электронной почты:
'blahblah@gmail.com'
Мой желаемый результат:
'@gmail.com'
Мой текущий вывод:
.
(это просто символ точки)
Вот мой код:
import re
test_string = 'blahblah@gmail.com'
domain = re.search('@*?\.', test_string)
print domain.group()
Вот что, по-моему, говорит мое регулярное выражение ('@ * ?.', 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., 'blahblah@gmail.com'
Я основываюсь на определениях здесь:
http://docs.activestate.com/komodo/4.4/regex-intro.html
Кроме того, я искал, но другие ответы были слишком сложны для меня, чтобы обдумать.
Помощь, как обычно, высоко ценится. Спасибо.
Мои вещи, если это имеет значение:
Windows 7 Pro (64 бит)
Python 2.6 (64 бит)
PS. Задание StackOverflow: Мои посты не содержат новых строк, если я не нажму "возврат" дважды между ними. Например (это все в другой строке, когда я пишу):
@ - найти все паттерны, начинающиеся с символа at ("@")
* - найти все символы после амперсанда
? - найти последний символ перед точкой
\ - прорыв (не используйте следующий символ в качестве символа подстановки, если это символ строки)
, - Найти "." персонаж
, тестовая строка - запустить предыдущий поиск по переменной «test_string», т.е. «blahblah@gmail.com»
Вот почему я получил пустую строку ч / б каждую строку выше. Что я делаю неправильно? Thx.