I realize this is more a regexp question than a python question, but maybe one
of the re object could help me:
I have wish to know how to _no_ match:
This is but an example of the data I handle:
xx xx xx xx xx xx xx [yy yy yy yy yy yy yy] (zz zz zz zz)
I currently can retrieve the three group of logical data blocks with:
l_str = 'xx xx xx xx xx xx xx [yy yy yy yy yy yy yy] (zz zz zz zz)' p = re.compile(r'([a-f-0-9\s]*) (\[[a-f-0-9\s]*\]) (\([a-f-0-9\s]*\))',re.IGNORECASE) #OK g = p.search(l_str)
What I would rather do is.
"get the data block that is _not_ between brackets or parenthesis i.e; 'xx xx
xx xx xx xx xx' knowing that the intial string could be:
[yy yy yy yy yy yy yy] xx xx xx xx xx xx xx (zz zz zz zz)
Any clue ?
regexps seem an overkill for the task at hand.
If data is really as simple as you suggest, you can try the following:
'xx [y y] 's = 'xx [y y] (z z)' s = s[:s.index('(')] + s[s.index(')')+1:] s
'xx 's = s[:s.index('[')] + s[s.index(']')+1:] s
s.strip()
'xx'
Relevant lines: s = s[:s.index('(')] + s[s.index(')'):] s = s[:s.index('[')] + s[s.index(']')+1:] s = s.strip() -- Mitja -- http://mail.python.org/mailman/listinfo/python-list