0

さて、私はPythonでこの小さな正規表現プログラムを持っています

#!/usr/bin/python
import re
string = "val1=1 val2=2 val3=234"
valfinder = re.compile('val\d=(?P<values>\d)')
vals = valfinder.search(string)
print(vals.group('values'))

1 を出力します。
他のすべての値と一致させる方法は何ですか? どうすればアクセスできますか?

4

1 に答える 1

1

findall()一致のリストを文字列として取得するかfinditer()、一致オブジェクトの反復子を取得するために使用します。次に例を示します。

>>> valfinder.findall(string)
['1', '2', '2']
>>> for match in valfinder.finditer(string):
...     print match.group('values')
...
1
2
2

の動作はfindall()、正規表現に含まれるキャプチャ グループの数に応じて変化することに注意してください。キャプチャ グループがない場合、結果の各要素は完全に一致します。キャプチャ グループが 1 つある場合、各要素はそのグループが一致したものになります。複数のグループがある場合、各要素は一致するグループのタプルになります。 .

于 2013-06-05T03:32:37.943 に答える