Python正则化注意事项

xiaoxiao2021-02-28  83

python正则匹配有中英文符号问题 比如“:”和”:”在正则表达式中是不一样的,所以在正则化时一定要注意中英文符号的区别.*默认是贪婪的,即默认匹配最长模式,而要匹配最短,后面加上?即可判断是否为汉字 for element in uchar.strip('\n'):##必须加\n否则系统会把换行符也作为字符进行判断,会干扰程序的运行 if element < u'\u4e00' or element > u'\u9fa5': def time_delete(self): for parent, dirnames, filenames in os.walk(self.rootdir): for filename in filenames: s = os.path.join(parent, filename) f = open(s, 'r', encoding='utf8') line = f.readlines() f1 = open(s, 'w+', encoding='utf8') al = re.compile(r'\[.*?\]')#默认匹配的是[]最短的模式,即'[1323][4567]'匹配的是[1323],而改为al = re.compile(r'\[.*\]')时匹配的是最长模式就是[1323][4567] try: for i in range(0, len(line)): result = re.sub(al, "\n", line[i]) f1.write(result) except IndexError: print("passttime_delete") f.close() f1.close()
转载请注明原文地址: https://www.6miu.com/read-71054.html

最新回复(0)