python-爬虫-孙兴华

List1(p2)

正则表达式

一组由字母和符号组成的特殊文本,正则表达式可以用来从文本中找出满足你想要的格式的句子

元字符

[]——字符种类,查找方括号内的任意字符,字符之间是或(or)的关系


# 提取字符串a中所有的数字,返回结果:['7', '6', '3', '6']
import re
a = '孙悟空7猪八戒6沙和尚3唐僧6白龙马'
r = re.findall('[0-9]',a)
print(r)

[^]——否定的字符种类,查找方括号外的任意字符


# 提取字符串a中所有非数字,返回:['孙', '悟', '空', '猪', '八', '戒', '沙', '和', '尚', '唐', '僧', '白', '龙', '马']
import re
a = '孙悟空7猪八戒6沙和尚3唐僧6白龙马'
r = re.findall('[^0-9]',a)
print(r)

# 找到字符串中间字母是d或e的单词,返回:['xdz', 'xez']
import re
a = 'xyz,xcz,xfz,xdz,xaz,xez'
r = re.findall('x[de]z',a)
print(r)

{n,m}——查询范围在n-m之间,包括n和m

贪婪模式:'[a-zA-Z]{3,5}' ——首先找到3个连续的字母,如果后面有连续的其他字母,那么就以此类推就能找到连续的5个字母


# 提取大小写字母混合的单词['Excel', 'Word', 'PPT']
import re
a = 'Excel 12345Word23456PPT12Lr'
r = re.findall('[a-zA-Z]{3,5}',a)
print(r)

*——重复在*前的字符,重复次数为0-n


# ['exce', 'excell', 'excel']
import re
a = 'exce0excell3excel3'
r = re.findall('excel*',a)
print(r)

+——重复在+前的字符,重复次数为1-n


# ['excell', 'excel']
import re
a = 'exce0excell3excel3'
r = re.findall('excel+',a)
print(r)

?——重复在?前的字符,重复次数为0-1


# ['exce', 'excel', 'excel']
import re
a = 'exce0excell3excel3'
r = re.findall('excel?',a)
print(r)

特殊字符

\d——查找所有的数字


# 提取字符串a中所有的数字
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\d',a)
print(r)

\D——查找非数字的字符


# 提取字符串a中所有非数字
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\D',a)
print(r)

\w——匹配中文,下划线,数字,英文


# 提取中文,英文,数字和下划线,不能提取特殊字符
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\w',a)
print(r)

\W——匹配特殊字符,如$、&、空格、\n、\t等


# 提取特殊字符、空格、\n、\t等
import re
a = 'Excel 12345Word\n23456_PPT12lr'
r = re.findall('\W',a)
print(r)

\s——查询空白字符(包括空格、换行符、制表符等)

\S——查询非空白字符的字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值