次の正規表現を作成しようとしています。-XXまたはXX:XX、最大6回の繰り返し(XX:XX:XX:XX:XX:XX)。ここで、Xは16進数です。
つまり、1〜6バイトの範囲のMACアドレスをキャプチャしようとしています。
regex = re.compile("^([0-9a-fA-F]{2})(?:(?:\:([0-9a-fA-F]{2})){0,5})$")
問題は、たとえば「11:22:33」と入力すると、最初の一致と最後の一致のみがキャプチャされ、結果が["11"、"22"]になることです。
質問:{0,5}文字で、最後の繰り返しではなく、すべての繰り返しをキャッチできる方法はありますか?ありがとう!