さて、Pythonで、私はそうのような文字列からのメールを抽出しています: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]
は戻ってくる。これはnull
を返します
I know my best friend mailto:[email protected]!
。ですから問題は、正規表現を分割する区切り文字にするにはどうしたらよいですか?私は関係なく、その横に句読点の、すべての場合に
を取得したいと思います。これはPythonで可能ですか?
"splitting by regex"とは、プログラムが文字列のパターンに遭遇すると、その部分を抽出してリストに入れることを意味します。
完全に動作し、私のコードをクリーンアップします。ありがとう! :D –
少なくともエスケープする必要がある唯一の '.'をエスケープすることを忘れないでください。 – Qtax
@ Qtax:ありがとう、私は変更を加えました。私は正規表現は私の最高ではない、あなたはまだ何かが間違っていることを参照して編集または私に知らせることをためらわないでください:) –