fork download
  1. import re
  2. buckets = ['BUCKET1','BUCKET2']
  3. rx = r"({0}):(.*?)(?=(?:{0})|$)".format("|".join([re.escape(bucket) for bucket in buckets]))
  4. print(rx)
  5. s = "BUCKET1:/dir1/dir2/BUCKET1:/dir3/dir4/BUCKET2:/dir5/dir6"
  6. print(re.findall(rx, s))
Success #stdin #stdout 0s 23352KB
stdin
Standard input is empty
stdout
(BUCKET1|BUCKET2):(.*?)(?=(?:BUCKET1|BUCKET2)|$)
[('BUCKET1', '/dir1/dir2/'), ('BUCKET1', '/dir3/dir4/'), ('BUCKET2', '/dir5/dir6')]