Хорошо, в питоне, я извлечение писем из строки следующим образом:Python разделен регулярным выражением?
split = re.split(" ", string)
emails = []
pattern = re.compile("^[a-zA-Z0-9_\.-][email protected][a-zA-Z0-9-]+.[a-zA-Z0-9-\.]+$");
for bit in split:
result = pattern.match(bit)
if(result != None):
emails.append(bit)
И это работает, до тех пор, пока существует пространство между письмами. Но это не всегда так. Например:
Hello, [email protected]
вернется:
но, возьмите следующую строку:
I know my best friend mailto:[email protected]!
Это вернет null
. Поэтому возникает вопрос: как я могу сделать так, чтобы регулярное выражение разделило разделитель? Я хотел бы получить
во всех случаях, независимо от того, пунктуации рядом с ним. Возможно ли это в python?
«Разделение по регулярному выражению» Я имею в виду, что если программа встречает шаблон в строке, он будет извлекать эту часть и помещать ее в список.
Любите его. Работает отлично и очищает мой код. Благодаря! : D –
По крайней мере, не забудьте выйти из единственного '.', который должен быть экранирован. – Qtax
@Qtax: Спасибо, я внес изменения. Как я уже говорил, регулярное выражение не лучшее, если вы все еще видите что-то неправильно, не стесняйтесь редактировать или сообщать мне :) –