Python 3 Regular Expression To Find Multiline Comment
I'm trying to find comment blocks in PHP source code using regular expressions in Python 3. The PHP comments are in this format: /** * This is a very short block comment */ Now
Solution 1:
You can use the re.DOTALL flag to make the . character match newlines:
re.compile(r'/\*\*.+?\*/', re.DOTALL)
(As a side note, PHP block comments can start with /*, not just /**.)
Solution 2:
Try this:
r'\/\*\*[^*]*\*+([^/][^*]*\*+)*\/'(this is the regex used by some CSS parsers for /* CSS comments */, so I believe it is pretty solid)
It won't match the exact format including line breaks and the inner asterisks, but you can work around it. This will match:
/**
* This is a very short block comment
*/But also:
/** This is a very short block comment */And even:
/** This is a very short block comment
*/To match the exact format of docblocks, you'd need a real parser, not regular expressions.
Post a Comment for "Python 3 Regular Expression To Find Multiline Comment"