さて、Pythonでは、次のような文字列からメールを抽出しています。
split = re.split(" ", string)
emails = []
pattern = re.compile("^[a-zA-Z0-9_\.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-\.]+$");
for bit in split:
result = pattern.match(bit)
if(result != None):
emails.append(bit)
そして、これは、電子メールの間にスペースがある限り機能します。しかし、これが常に当てはまるとは限りません。例えば:
Hello, foo@foo.com
戻ります:
foo@foo.com
ただし、次の文字列を使用してください。
I know my best friend mailto:foo@foo.com!
これはを返しnull
ます。したがって、問題は、正規表現が分割する区切り文字になるようにするにはどうすればよいですか?取得したい
foo@foo.com
すべての場合において、その隣のパンクに関係なく。これはPythonで可能ですか?
「正規表現による分割」とは、プログラムが文字列内のパターンに遭遇した場合、その部分を抽出してリストに入れることを意味します。