2010-12-13 15 views
2

私は次の文字列を持っています:後続の2つの単語を正規表現で照合しますか?

野生は炎の上で2 - 1を獲得しました。

チーム名とその文字列から得点を抽出する必要があります。 Pythonでは、私は次のようでした: - ブルージャケットの上に3

レッドウィングスが4を獲得した:

foo = re.findall(r'The (\w+) won (\d+) - (\d+) over the (\w+)\.', mystring) 

今問題がある、このようなことでは空白とチーム名があります。

これらの文字列の両方に一致する正規表現を書くにはどうすればよいですか?

答えて

3

あなただけのチーム名のグループにスペースを含めるように、元の正規表現を編集することができます。

foo = re.findall(r'The ([\w ]+) won (\d+) - (\d+) over the ([\w ]+)\.', mystring) 
3

(\w+)の代わりに([\w ]+)を使用してください。

+0

(。+) – GWW

1

フォーマットが本当に一致している場合、あなたは自分の表現を少しリラックスすることができ、それが正常に動作します:

foo = re.findall(r'The (.+) won (.+) - (.+) over the (.+).', mystring) 
関連する問題