python数据分析-正则表达式讲解及函数

一、基础知识

1、首先要了解和明确的是如何用字符来描述字符或字符串。
2、在正则表达式中,如果直接给出字符,就是精确匹配。(eg:re.match(‘one’ , ‘one’ , regs=0))
3、除了直接给出的字符还有一类元字符(metacharacters),包括:

. *+?\ [ ] ^ $ { } | ( )
eg:如果不用元字符修饰字符出现的次数则每个位置的正则表达式和目标字符串是一一对应的。

在这里插入图片描述

4、熟悉python中re模块的常用函数。
5、正则表达式可以设定整个文本的模式:
(1)单行模式,文本被强制当作单行来匹配,什么样的文本不会被当作单行?就是里面包含有换行符的文本。(换行符:\n)
(2)多行模式,文本被强制当作多行来匹配。包含换行符的字符串总是被当作多行处理。

二、元字符介绍
字符 匹配
. 匹配任意字符(除了\n(换行符))
[…] 匹配字符集,也可以圈定范围(eg:2到9范围内的数字,写为[2-9],闭区间。注意,在[ ]中的 . 等,就是 . 的意思,非元字符的含义)
[^…] 匹配除了字符集中字符的所有字符
a|b 匹配字符a或字符b
\d 匹配数字
\D 匹配非数字
\s 匹配空白符(包括空格、tab、换行符等。价于[\t\n\r\f\v])
\S 匹配非空白符
\w 匹配单词字符[a-zA-Z0-9]
\W 匹配非单词字符
* 匹配前一个字符0次或者无数次
+ 匹配前一个字符1次或者无数次
? 匹配前一个字符0次或者1次
{m} 连续匹配前一个字符m次
{m,} 连续重复m次或更多次
{m,n} 匹配前一个字符最少m次最多n次
*?/+?/?? 匹配模式变为非贪婪(尽可能少匹配字符)
^ 字符串的起始位置,^\d表示必须以数字开头
$ 字符串的结尾位置,\d 表 示 必 须 以 数 字 结 束 。 假 如 用 p y 匹 配 ′ p y t h o n ′ , 但 是 加 上 p y 表示必须以数字结束。假如用py匹配'python',但是加上^py pypythonpy就变成了整行匹配,就只能匹配’py’了。

示例:
1、. 的用法
在这里插入图片描述
2、[ ] 的用法
在这里插入图片描述
3、\d和\D的用法

a = 'python' 
match_object1 = re.match('py\d',a,flags=0)
print(match_object1)
match_object2 = re.match('py\D',a,flags=0)
print(match_object2.group())

b = 'py6thon' 
match_object3 = re.match('py\d',b,flags=0)
print(match_object3.group())
match_object4 = re.match('py\D'
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值