Skip to content

Instantly share code, notes, and snippets.

@sourcepirate
Created November 11, 2017 07:58
Show Gist options
  • Save sourcepirate/1b7c196f8df6a48e46b15e5102dac531 to your computer and use it in GitHub Desktop.
Save sourcepirate/1b7c196f8df6a48e46b15e5102dac531 to your computer and use it in GitHub Desktop.
import re
strings = """every day at 11:30
every 2nd week tuesday at 11:30
every 5 mins
"""
grammer = {
"G": "every <DAY_CTX> | <WEEK_CTX> | <MIN_CTX>",
"WEEK_CTX": "<WEEK> week <DAY_CTX>",
"DAY_CTX": "<DAY> at <TIME>",
"MIN_CTX": "<MIN> mins",
"WEEK": "(?P<day_num>\d+)\w{2}",
"DAY": "(?P<day>\w+)",
"TIME": "(?P<hour>\d+):(?P<min>\d+)",
"MIN": "(?P<min>\d+)"
}
_tag = r"<.*>"
def construct_grammer(gram_dict, key="G"):
G = grammer.get(key)
tags = re.find_all(_tag)
for tag for tags:
_constructed =
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment