Python——正则表达式的常见应用

                                                     Python——正则表达式的常见应用

 

在NLP的数据处理过程中,经常会用到正则表达式,应用包括:

  • case 1:字符串如何通过split()指定多个字符进行分割字符?
  • case 2:网页爬虫时,如何自定义正则表达式,完成目标的匹配或查找?

 

一、case 1:字符串如何通过split()指定多个字符进行分割字符?

这个例子中含有一个经常会遇到的bug——Python2,非windows系统,python无法直接打印出中文字符(串),会的人一行代码解决,不会的人在网上找半天都解决不了,搞不好会被各种编码之间的转换,环境配置等弄得怀疑人生!

建议大家原创!写文章详细点,不要老是转载,复制,要多动动手,利己也利他。不然,别人高高兴兴地本以为找到了解决方案,折腾半天还是不行,一个又一个浪费时间,何必嘛,一点都不python!不多说了,例子与解决方案如下:

解决方案1:res = str(res).decode('string_escape')。言归正传,通过split()指定多个字符进行分割字符串的例子如下:

import re

# 通过split()指定多个字符进行分割字符串
def multi_char_split(object_str, regex_list):
    res = re.split("|".join(regex_list), object_str)  # 利用正则表达式进行划分
    print(res)  # python2,输出出现编码错误;python3,正常输出中文
    print(str(res).decode('string_escape'))  # python2, linux与macOS需要进行编码转换,windows跳过该步骤,直接输出; python3,输出错误


if __name__ == "__main__":
    object_str = '静夜思·李白——唐代 床前明月光,疑是地上霜。'
    regex_list = ['·', '——', ' ', ',', '。']

    multi_char_split(object_str, regex_list)

运行结果:

解决方案2:用python3吧!

二、网页爬虫时,如何自定义正则表达式,完成目标的匹配或查找?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值