diff options
Diffstat (limited to 'project2/proj2_s4498062/dns/regexes.py')
-rw-r--r-- | project2/proj2_s4498062/dns/regexes.py | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/project2/proj2_s4498062/dns/regexes.py b/project2/proj2_s4498062/dns/regexes.py deleted file mode 100644 index 07c1eed..0000000 --- a/project2/proj2_s4498062/dns/regexes.py +++ /dev/null @@ -1,33 +0,0 @@ -"""Regexes used in the DNS protocol""" - - -def grpm(regex): - """Make a matching group""" - return grp(regex, matching=True) - - -def grp(regex, matching=False): - """Make a group""" - return r'(' + (r'' if matching else r'?:') + regex + r')' - - -def opt(regex): - """Make an optional group""" - return grp(grp(regex) + r'?') - - -def regex_opt_r(*regexes): - """Make a group that matches one of the given regexes""" - return grp(r'|'.join(regexes)) - - -DIGIT = r'\d' -LETTER = r'[a-zA-Z]' -LETDIG = grp(regex_opt_r(DIGIT, LETTER)) -LETDIGHYP = grp(regex_opt_r(LETDIG, r'-')) -LDHSTR = grp(LETDIGHYP + r'+') -LABEL = grp(LETTER + opt(opt(LDHSTR) + LETDIG)) -SUBDOMAIN = grp(grpm(grp(LABEL + r'\.') + r'*') + grpm(LABEL)) -DOMAIN = regex_opt_r(SUBDOMAIN, r' ') - -IP = r'(?:(?:\d{1,3}\.){3}\d{1,3})' |