|
a |
|
b/symptoms_regex_decrypter.py |
|
|
1 |
import re |
|
|
2 |
|
|
|
3 |
def getCleanRegex(regex): |
|
|
4 |
if '.*' in regex: |
|
|
5 |
regex = regex.replace('.*', '[a-z]*') |
|
|
6 |
if '/' in regex: |
|
|
7 |
regex = regex.replace('/', '\/') |
|
|
8 |
return regex |
|
|
9 |
|
|
|
10 |
def getName(regex): |
|
|
11 |
if regex[0] != '(': |
|
|
12 |
return regex |
|
|
13 |
else: |
|
|
14 |
output = '' |
|
|
15 |
for c in regex: |
|
|
16 |
if c == '(': |
|
|
17 |
continue |
|
|
18 |
elif c == '|': |
|
|
19 |
return output |
|
|
20 |
else: |
|
|
21 |
output += c |
|
|
22 |
return regex |
|
|
23 |
|
|
|
24 |
if __name__ == '__main__': |
|
|
25 |
with open("symptoms_regex_rough.txt") as f: |
|
|
26 |
content = f.readlines() |
|
|
27 |
|
|
|
28 |
clean_regexes = {} |
|
|
29 |
for i in range(0, len(content), 2): |
|
|
30 |
line = content[i] |
|
|
31 |
name, regexes = line.split(' - ') |
|
|
32 |
name = name[1:] |
|
|
33 |
for regex in regexes.strip().split(', '): |
|
|
34 |
clean_regexes[getName(regex)] = getCleanRegex(regex) |
|
|
35 |
|
|
|
36 |
for name in clean_regexes: |
|
|
37 |
print(name + ': ' + clean_regexes[name]) |
|
|
38 |
|
|
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
|
42 |
|