1. ホーム
  2. python

[解決済み] python regex マッチのループ処理

2023-07-05 22:27:01

質問

これは、私が遭遇しているものよりも簡単でなければなりません。私の問題は、次のような文字列を回すことです。

ABC12DEF3G56HIJ7

12 * ABC
3  * DEF
56 * G
7  * HIJ

そして、REGEXマッチングを使った正しいループのセットを設計することがどうしてもできません。この問題の核心は、コードが完全に一般的でなければならないことです。 [A-Z] の断片がどれくらいの長さになるのか、また [0-9] の断片がどれくらいの長さになるのかもわかりません。

どんな援助でもありがとうございます

どのように解決するのですか?

Pythonの re.findall が動作するはずです。

ライブデモ

import re

s = "ABC12DEF3G56HIJ7"
pattern = re.compile(r'([A-Z]+)([0-9]+)')

for (letters, numbers) in re.findall(pattern, s):
    print(numbers, '*', letters)