Regexp question

  • Thread starter Philippe C. Martin
  • Start date
P

Philippe C. Martin

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 ?

Regards,

Philippe






--
*********************
Philippe C. Martin
SnakeCard LLC
www.snakecard.com
*********************
 
M

Mitja

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:
s = 'xx [y y] (z z)'
s = s[:s.index('(')] + s[s.index(')')+1:]
s 'xx [y y] '
s = s[:s.index('[')] + s[s.index(']')+1:]
s 'xx '
s.strip()
'xx'


Relevant lines:
s = s[:s.index('(')] + s[s.index(')'):]
s = s[:s.index('[')] + s[s.index(']')+1:]
s = s.strip()
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top