def _create_pattern_from_string(self, string):
parts = re.split("\W", string)
pattern = re.sub("\w+", "{}", string)
pattern_list = []
for part in parts:
if len(part) > 0:
if re.fullmatch("[a-z]+", part):
pattern_list.append("\l")
elif re.fullmatch("[A-Z]+", part):
pattern_list.append("\L")
elif re.fullmatch("[a-zA-Z]+", part):
pattern_list.append("\i")
elif re.fullmatch("\d+", part):
pattern_list.append("\d")
else:
pattern_list.append("\w")
return pattern.format(*pattern_list)
评论列表
文章目录