Python正则化注意事项

  • 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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值