On Sun, 2018-10-28 at 22:04 +0100, Karsten Hilbert wrote: > [^<:] Would a simple regex work?
I mean: ~$ python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import re >>> t = '$<name::options::range>$' >>> re.findall('[^<>:$]+', t) ['name', 'options', 'range'] You can then interpret what you have extracted afterwards. Maybe if you want to have the single ones grouped you could consider: >>> t = t*2 >>> t '$<name::options::range>$$<name::options::range>$' >>> re.findall('\$<+([^:]+)::([^:]+)::([^:]+)>+\$', t) [('name', 'options', 'range'), ('name', 'options', 'range')] HTH -- https://mail.python.org/mailman/listinfo/python-list