Regular Expressions 101

Community Patterns

Skype/IRC log syntax highlighting

1

Regular Expression
Python

r"
^\s* (?: (?P<date> (?:[\[<\(]\s*)? # opening bracket (?: # date time (?: # date (?: (?: # matches mm-dd-yyyy mm-dd-yy mm-dd \d{1,2}-\d{1,2} (?: - (?:\d{4}|\d{2}) )? ) | (?: # matches mm/dd/yyyy mm/dd/yy mm/dd \d{1,2}\/\d{1,2} (?: \/ (?:\d{4}|\d{2}) )? ) ) \s+ # time \d{1,2}:\d{2} (?::\d{2})? (?: \s* (?:AM|PM) )? ) | # time date (?: # time \d{1,2}:\d{2} (?::\d{2})? (?: \s* (?:AM|PM) )? \s+ # date (?: (?: # matches mm-dd-yyyy mm-dd-yy mm-dd \d{1,2}-\d{1,2} (?: - (?:\d{4}|\d{2}) )? ) | (?: # matches mm/dd/yyyy mm/dd/yy mm/dd \d{1,2}\/\d{1,2} (?: \/ (?:\d{4}|\d{2}) )? ) ) ) | # time only (?: \d{1,2}:\d{2} (?::\d{2})? (?: \s* (?:AM|PM) )? ) ) (?:\s*[\)>\]])? # closing bracket ) \s+ )? (?P<name> (?: (?:<\s*[^\s:>]+\s*>) # match <Username> | (?:[^\s:]+:) # match Username: ) ) \s+ (?P<message>.*) $
"
gxm

Description

Matches date/time/name in several different formats, accounting for brackets, etc

<11:54 PM> Sirenfal: Asdf [11:54] <Sirenfal> Asdf 11:54 Sirenfal: Asdf [1/1/06 11:54 AM] Sirenfal: asdf <11:54> Asdf

Submitted by Sirenfal - 8 years ago