python正则表达式

写这篇文章主要记录自己学习过程中的一些知识点,基本涵盖了主要功能,还加了点小案例

#统计词频
text="我是一名大学生,一名大二的学生。"
import re
data_list=re.findall('一名',text)
print(len(data_list))

匹配单个字符

import re
text='''real_url: https://****
real_url: http://****'''
data_list=re.findall("[baidu]",text)  #相当于匹配b a i d u单个字符
print(data_list)
# data_list=re.findall("https.",text)  #相当于匹配任意一个单个字符
# print(data_list)

贪婪匹配:有长有短我选长

# data_list=re.findall("https.+?",text)  #和后面只接一个.无区别
# print(data_list)
# data_list=re.findall("https.+",text)  #可以提取出第一个url  贪婪匹配
# print(data_list)
# data_list=re.findall("https\w+",text)  #因为\w不能代表除了字母数字下划线以外的,所以返回none
# print(data_list)

括号分组:不改变原先匹配。但是改变提取效果,如果条件里有多个括号,按顺序返回元组,如果是大括号套着小括号,那么返回元组第一个元素是大括号匹配,第二个是小括号匹配(多用来匹配身份证)或符号:可以让你少写一个表达式,尽量简化,[abc]没办法再加单个字符以外别的固定符号,其他的情况==|,[]还可以[a-zA-Z0-9_-]这样匹配,比|匹配得更广

import re
text='''real_url: https://***
real_url: http://****'''
data_list=re.findall("https.+\s.+",text)  #返回两个,不过有\nreal_url:
print(data_list)
data_list=re.findall("(https.+)\nreal_url:(.+)",text)  #返回两个,说明\s不包括\n
print(data_list)
data_list=re.findall("real_url:(.+)",text)  #效果同上
print(data_list)

re的其他函数一些用法split,sub,finditer,分组命名等

import re
text='''real_url: https://****
real_url: A****'''

data_list=re.findall("real_url:(.+)",text,re.ASCII)  #这里最后的re.ASCII本来可以剔除中文字符,但是好像不能用???
print(data_list)
data_list=re.findall("real_url:(?P<name>.+)",text,re.ASCII) 
print(data_list)
data_list=re.finditer("real_url:(?P<name>.+)",text,re.ASCII) 
for item in data_list:
    info_dict=item.groupdict()
    print(info_dict)  #但是用finditer 就可以命名成功
    
data_list=re.split("real_url:",text)  #也可以出来两个url不过会有''\n
print(data_list)

data_list=re.sub("real_url:","链接为",text)  #把real_url:改为链接为
print(data_list)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值