Python einen Flag bietet (re.X
or re.VERBOSE
) Annotation von regulären Ausdrücken zu ermöglichen:Python re.X vs Automagic Linie Fortsetzung
a = re.compile(r"""\d + # the integral part
\. # the decimal point
\d * # some fractional digits""", re.X)
jedoch mit automatischer String-Verkettung, könnte man im Grunde das Gleiche erreichen:
a = re.compile(r'\d+' # integral part
r'\.' # decimal point
r'\d*' # optional fractional digits
)
Ich glaube nicht, dass ich wirklich die letztere Form verwendet habe, aber (IMHO) macht es für einen leichter zu lesen Regex (Ich muss nicht versuchen, herauszufinden, welche Whitespace wurde entkommen, und whitespace wird ignoriert ... etc. etc.) und meine Kommentare bekommen formatiert von meinem Texteditor als Kommentare. Gibt es einen Grund, ersteres dem letzteren oder Visa-Vers vorzuziehen? Oder ist das wirklich ein Tomaten-Tomaten-Problem?
Yeah - Ich wusste nicht, dass andere Sprachen dieses Feature haben - ich nehme an, dass der einzige Ort, wo ich 'regex' benutze, ist mit Python, einfachen sed-Ausdrücken und hin und wieder zu meinen Emacs hinzuzufügen Syntaxtabelle. Das ist ein guter Punkt. – mgilson