前提・実現したいこと
python3で、下記のように文字列を分割したいのですが、うまくいきません。
やりたいこと:スペースで区切るのではなく、数字2桁×3個以上の連続した文字列で分割したい。
例)
- 分割前:'01:02:03:04:05:06 07:08'
- 分割後:'01:02:03:04:05:06' と '07:08'
試したこと
'01:02:03:04:05:06'と'07:08'に分かれているのは求めていたことですが、
間に、余計な '03:' と '05:' が紛れ込んでいます。
python
1string = '01:02:03:04:05:06 07:08' 2re.split(r'((\d{1,2}:){3}(\d{1,2}:)*\d{1,2})', string) 3# 結果: ['', '01:02:03:04:05:06', '03:', '05:', ' 07:08']
もっと単純なもので試してみたのですが、こちらもダメでした。
python
1re.split(r'(([0-9]{1,2}:)+)', '01:02:03:04:05') 2# 予想: ['01:02:03:04:', '05'] 3# 結果: ['', '01:02:03:04:', '04:', '05']
正規表現が間違っている可能性を考えて、下記のように試してみたところ、
問題なさそうであることは確かめました。
python
1string = '01:02:03:04:05:06' 2re.match(r'((\d{1,2}:){3}(\d{1,2}:)*\d{1,2})', string) 3# 結果: <_sre.SRE_Match object; span=(0, 17), match='01:02:03:04:05:06'>
正規表現に問題がないとすれば、どこが間違っているのでしょうか。
どなたか教えていただけませんでしょうか。
何卒よろしくお願いいたします。