2017-01-30 12 views
0

このコードの答えはNoneです。私が電子メールまたは電話を単独で行うと、コードが機能します。しかし、両方を使うとnoneを返します。助けてください!Python REGEX検索では、返り値としてNoneが返されます。

string = 'Love, Kenneth, [email protected], 555-555-5555, @kennethlove Chalkley, Andrew, [email protected], 555-555-5556, @chalkers McFarland, Dave, [email protected], 555-555-5557, @davemcfarland Kesten, Joy, [email protected], 555-555-5558, @joykesten' 
contacts = re.search(r''' 
    ^(?P<email>[-\w\d.+][email protected][-\w\d.]+) # Email 
    (?P<phone>\d{3}-\d{3}-\d{4})$ # Phone 
''', string, re.X|re.M) 

print(contacts.groupdict) 
+0

1.削除 '$'、 '^ '、2追加':

(?P<email>[-\w\d.+][email protected][-\w\d.]+), (?P<phone>\d{3}-\d{3}-\d{4}) 

これは、部品と一致しました'before'#Email' –

+0

これを使ってくれてありがとう! –

答えて

0

インポートあなたは、文字列全体の試合を強制するために^$を使用しています。あなたの正規表現は、部分文字列にのみ一致するように設計されているようです。