Difference between revisions of "RegEx Python"
From Noah.org
Jump to navigationJump to searchLine 1: | Line 1: | ||
+ | [[Category:Engineering]] | ||
== Regular Expressions in Python syntax == | == Regular Expressions in Python syntax == | ||
Revision as of 16:58, 12 May 2007
Regular Expressions in Python syntax
Parse a simple date
This format is used by the `motion` command. This parses the date from filenames in this example format:
02-20070505085051-04.jpg
The return format is a sequence the same as used in the standard Python library time module. This is pretty trivial, but shows using named sub-expressions.
def date_from_filename (filename): m = re.match(".*?[0-9]{2}-(?P<YEAR>[0-9]{4})(?P<MONTH>[0-9]{2})(?P<DAY>[0-9]{2})(?P<HOUR>[0-9]{2})(?P<MIN>[0-9]{2})(?P<SEC>[0-9]{2})-(?P<SEQ>[0-9]{2}).*?", filename) if m is None: print "Bad date parse in filename:", filename return None day = int(m.group('DAY')) month = int(m.group('MONTH')) year = int(m.group('YEAR')) hour = int(m.group('HOUR')) min = int(m.group('MIN')) sec = int(m.group('SEC')) dts = (year, month, day, hour, min, sec, 0, 1, -1) return dts