6

私を夢中にさせている単純な正規表現の質問があります。変数がありますx = "field1: XXXX field2: YYYY"。取得したいYYYY(これは値の例であることに注意してください)。私のアプローチは次のとおりです。

values = re.match('field2:\s(.*)', x)
print values.groups()

何とも似合っていません。これについて何か助けを得ることができますか?ありがとう!

4

2 に答える 2

14

あなたの正規表現は良いです

field2:\s(.*)

このコードを試してください

match = re.search(r"field2:\s(.*)", subject)
if match:
    result = match.group(1)
else:
    result = ""
于 2012-06-07T21:15:34.540 に答える
7

re.match()文字列の先頭にのみ一致します。re.search()代わりに使用したい。

また、逐語的な文字列を使用する必要があります。

>>> values = re.search(r'field2:\s(.*)', x)
>>> print values.groups()
('YYYY',)
于 2012-06-07T21:16:35.273 に答える