Python: Regex to match multiline C strings -
i'm attempting match multiline c strings via re module.
i'd match strings of form:
char * thestring = "some string \ want match.";
i tried following regex, not work:
regex = re.compile(r"\".*\"$", re.multiline)
i thought match first ", continue searching next line until found closing ", not case. because $ requires there " @ end of line match? there way using regex?
use dot flag.
however, way parse c strings. (?s)"[^"\\]*(?:\\.[^"\\]*)*"
if doesn't support (?s)
inline modifier, set modifier in flags parameter.
re.compile(r'"[^"\\]*(?:\\.[^"\\]*)*"', re.dotall)
(?s) " [^"\\]* # double quoted text (?: \\ . [^"\\]* )* "
ideally, should add (raw regex) (?<!\\)(?:\\\\)*
@ beginning,
make sure opening double quote not escaped.
Comments
Post a Comment