面试题答案
一键面试import re
def convert_text_to_dict(text):
try:
pattern = re.compile(r'\[(.*?)\]')
parts = pattern.findall(text)
result = {}
for part in parts:
pairs = part.split(';')
for pair in pairs:
try:
tag, value = pair.split(':', 1)
result[tag] = value
except ValueError:
continue
return result
except TypeError:
return {}
你可以这样调用函数:
text = '[tag1:value1;tag2:value2][tag3:value3;tag4:value4]'
print(convert_text_to_dict(text))