On Fri, 21 Dec 2007 00:00:47 +0000, lex __ wrote: > I'm tryin to use regexp to replace multi-line c-style comments (like /* > this /n */ ) with /n (newlines). I tried someting like > re.sub('/\*(.*)/\*' , '/n' , file) but it doesn't work for multiple > lines.
Regexes won't cross line boundaries unless you make them multiline with re.MULTILINE. Also, I'm no expert on regexes, but it looks to me that your regex is greedy. I think you need the non-greedy version, which by memory (and completely untested) is something like this: rx = re.compile('/\*(.*?)/\*', re.MULTILINE) Have you considered what happens when your C code includes a string literal containing '/*'? "Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems." -- Jamie Zawinski, in comp.lang.emacs -- Steven. -- http://mail.python.org/mailman/listinfo/python-list