Hey Mathieu Due to word wrap I'm not sure what you want to do. What result do you expect? I get: >>> print m.groups() ('0021', 'xx0A', 'Siemens: Thorax/Multix FD Lab Settings Auto Window Width ', ' ', 'SL', '1') But only when I insert a space in the 3rd char group (I'm not sure if your original pattern has a space there or not). So the third group is: ([A-Za-z0-9./:_ -]+). If I do not insert the space, the pattern does not match the line.
I also cant see how the format of your line is. If it is like this: line = "...Siemens: Thorax/Multix FD Lab Settings Auto Window Width..." where "Auto Window Width" should be the 4th group, you have to mark the + in the 3rd group as non-greedy (it's done with a "?"): http://docs.python.org/lib/re-syntax.html ([A-Za-z0-9./:_ -]+?) With that I get: >>> patt.match(line).groups() ('0021', 'xx0A', 'Siemens: Thorax/Multix FD Lab Settings', 'Auto Window Width ', 'SL', '1') Which probably is what you want. You can also add the non-greedy marker in the fourth group, to get rid of the tailing spaces. HTH Wanja mathieu wrote: > I clearly mark that the separator in between group 3 and group 4 > should contain at least 2 white space, but group 3 is actually reading > 3 +4 -- http://mail.python.org/mailman/listinfo/python-list