原因是Python3将字符串解释为Unicode字符串,因为正则中的D或者*就被视为转义的Unicode字符,解决的办法有两种:
原: data_mark_list = re.findall("#(\w+)#", case_str) # 列表
改过后: data_mark_list = re.findall(r"#(\w+)#", case_str) # 列表
或 data_mark_list = re.findall("#(|\w+)#", case_str) # 列表
总结:一种是:在正则匹配模式前加r
另一种是加两个反斜杠转,表示正则表达式受到保护,不被字节码编译器解释
转载:https://www.136.la/shida/show-341387.html