0

次を含む文字列がありますs:-

Hello {full_name} this is my special address named {address1}_{address2}.

中かっこ内に含まれる文字列のすべてのインスタンスを一致させようとしています。

試行中:-

matches = re.findall(r'{.*}', s)

私にくれます

['{full_name}', '{address1}_{address2}']

しかし、私が実際に取得しようとしているのは

['{full_name}', '{address1}', '{address2}']

どうやってやるの?

4

3 に答える 3

4
>>> import re
>>> text = 'Hello {full_name} this is my special address named {address1}_{address2}.'
>>> re.findall(r'{[^{}]*}', text)
['{full_name}', '{address1}', '{address2}']
于 2013-04-19T08:22:15.853 に答える
2

貪欲ではないマッチを試してください:

matches = re.findall(r'{.*?}', s)
于 2013-04-19T08:22:30.237 に答える
1

貪欲でない量指定子が必要です。

matches = re.findall(r'{.*?}', s)

疑問符に注意してください?

于 2013-04-19T08:22:34.083 に答える