Python Challengeの問題を解決するためにregexを使用しているうちに、私は混乱した動作を経験しました。 hereからキャプチャグループはどのように機能しますか? (wrt pythonの正規表現)
:
は(...)正規表現が括弧の内側にあるものは何でもマッチします。
と
'+' 得られたRE先行REの1回以上の繰り返しに一致させます。
だから、これは理にかなって:
>>>import re
>>>re.findall(r"(\d+)", "1111112")
['1111112']
しかし、これはしていません:
>>> re.findall(r"(\d)+", "1111112")
['2']
私はグループが正規表現に存在しているときのfindAllはグループのみを返しますが、なぜ唯一の "であることを実感2 'が返されましたか?試合のすべての1に何が起こったのですか?
グループ化されていないかっこもあります。try r "(?:\ d)+"です。 –