2016-11-24 6 views
-2

で複数ワード検索を実行する、」ボーイ 25e6は怒っていたので、彼は女の子 37b6から車を盗んだとcop58c9" で逮捕されました。 少年少女からのみの正規表現が必要です。は、私はラインを持っている1つの正規表現のpython

私は

if re.search("boy([0-9,a-f]+),", line) or re.search("girl([0-9,a-f]+)", line):

を行う可能性が一つにこれらの2つの正規表現に合わせてとにかくはありますか?

+0

[0-9、a-f]に「、」は必要ありません+ [0-9a-f] +だけを使用してください。 A '、' there 'にも一致します。'、 ' – MYGz

+0

カンマを使用すると、この期間も「Boy25、e6」と一致します。 – MYGz

答えて

0

はい、あなたは(boy|girl)([0-9a-f]+)

+0

[0-9、af] + – MYGz

+0

から '、'を削除しました。私はそれを修正しました –

+0

私は投票しませんでした:) – MYGz

0

を行うことができますおそらく、これを行うには良い方法はreモジュールからfinditerを使用することです。

>>> import re 
>>> s = "Boy25e6 was angry so he stole a car from girl37b6 and was arrested by cop58c9" 
>>> f = re.finditer(r'((?:boy|girl)\w+)', s, re.I) 
>>> f 
<callable-iterator object at 0x7fb3821e3190> 
>>> for m in f: 
...  print m.group(1) 
... 
Boy25e6 
girl37b6 
関連する問題