In [1]:
import re
In [12]:
test = ["123456", "1234", "12'34\"56", "1'23\"45", "12\"34", "1\"23", "1m23", "12m34", "1\"23\"45", "1\"234\"56", "1'234\"56", "3m00","3m00"]
In [4]:
reg1 = re.compile(r"[0-9]{6}")
In [5]:
for s in test:
m1 = reg1.match(s)
if m1: print(s, m1.span())
else: print(s, m1)
In [6]:
reg2 = re.compile(r"[0-9]{1,2}'[0-9]{2}\"[0-9]{2}")
In [7]:
for s in test:
m2 = reg2.match(s)
if m2: print(s, m2.span())
else: print(s, m2)
In [8]:
reg3 = re.compile(r"[0-9]{1,2}\"[0-9]{2}")
for s in test:
m3 = reg3.fullmatch(s)
if m3: print(s, m3.span())
else: print(s, m3)
In [9]:
reg4 = re.compile(r"[0-9]{1,2}m[0-9]{2}")
for s in test:
m4 = reg4.match(s)
if m4: print(s, m4.span())
else: print(s, m4)
In [10]:
def clean_PB(PB):
# reg1: 6-num
m = reg1.fullmatch(PB)
if m and m.span() == (0,6): return PB
# reg2: Readable 12'34"56
m = reg2.fullmatch(PB)
if m:
if m.span() == (0,8): return PB[0:2]+PB[3:5]+PB[6:]
elif m.span() == (0,7): return "0"+PB[0]+PB[2:4]+PB[5:]
# reg3: Readable 12"34
m = reg3.fullmatch(PB)
if m:
if m.span() == (0,5): return "00"+PB[0:2]+PB[3:]
elif m.span() == (0,4): return "000"+PB[0:1]+PB[2:]
# reg4: Readable 12m34
m = reg4.fullmatch(PB)
if m:
if m.span() == (0,5): return "00"+PB[0:2]+PB[3:]
elif m.span() == (0,4): return "000"+PB[0:1]+PB[2:]
In [13]:
for t in test:
print(clean_PB(t), "\t", t)
In [14]:
"3m00" == "3m00"
Out[14]:
In [18]:
"3m00" == "3m00"
Out[18]:
In [ ]: