Python正则化注意事项

来源:互联网 发布:时尚的网络用语 编辑:程序博客网 时间:2024/05/29 18:35
  • 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()
原创粉丝点击