re.search slashes

Scott David Daniels scott.daniels at acm.org
Sat Feb 4 13:25:04 EST 2006


pyluke wrote:
> I'm parsing LaTeX document and want to find lines with equations blocked 
> by "\[" and "\]", but not other instances of "\[" like "a & b & c \\[5pt]"
> so, in short, I was to match "\[" but not "\\]" ....  I've tried:
> check_eq = re.compile('(?!\%\s*)\\\\\[')
 > check_eq.search(line)
 > this works in finding the "\[" but also the "\\["

If you are parsing with regular expressions, you are running a marathon.
If you are doing regular expressions without raw strings, you are running
a marathon barefoot.

Notice:  len('(?!\%\s*)\\\\\[') == 13
          len(r'(?!\%\s*)\\\\\[') == 15

> so I would think this would work
> check_eq = re.compile('(?![\%\s*\\\\])\\\\\[')
> check_eq.search(line)
> 
> but it doesn't.  Any tips?
Give us examples that should work and that should not (test cases),
and the proper results of those tests.  Don't make people trying to
help you guess about anything you know.

--Scott David Daniels
scott.daniels at acm.org



More information about the Python-list mailing list