首页 > 其他 > 详细

re库和正则表达式

时间:2020-04-03 15:35:05      阅读:76      评论:0      收藏:0      [点我收藏+]

1. 什么是正则表达式

正则表达式是一种查找以及字符串替换操作,其常被用于检查文本中是否含有指定的特征词、找出文中匹配特征词的位置、从文本中提取信息。Python中的re库是用来实现正则表达式操作的。

1.1. re.findall()将符合规则的字符串以列表形式返回

import re
s = ‘python123pythonpython‘
r = re.findall(‘python‘, s)
print(r)  # [‘python‘, ‘python‘, ‘python‘]

2. 元字符 .^${}*+? | []

2.1. 通配符.  除\n

s1 = ‘python123‘
s2 = ‘python123\n‘
s3 = ‘python123\r‘
r1 = re.findall(‘.‘, s1)
print(r1)    # [‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘, ‘1‘, ‘2‘, ‘3‘]
r2 = re.findall(‘.‘, s2)
print(r2)    # [‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘, ‘1‘, ‘2‘, ‘3‘]
r3 = re.findall(‘.‘, s3)
print(r3)    # [‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘, ‘1‘, ‘2‘, ‘3‘, ‘\r‘]
r4 = re.findall(‘.‘, s2, re.S)  # 修饰符re.S可以使.匹配包括\n在内的所有字符
print(r4)    # [‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘, ‘1‘, ‘2‘, ‘3‘, ‘\n‘]

2.2. ^ 匹配字符串的开头

s = ‘love123\nloveyou\npython‘
r1 = re.findall(‘^love‘, s)
print(r1)    # [‘love‘]
r2 = re.findall(‘^love‘, s, re.M)  # 修饰符re.M表示可以匹配多行
print(r2)    # [‘love‘, ‘love‘]

2.3. $ 匹配字符串的结尾

s = ‘xxxyyy\nabc\nflyy‘
r1 = re.findall(‘yy$‘, s)
print(r1)     # [‘yy‘]
r2 = re.findall(‘yy$‘, s, re.M)
print(‘r2:‘, r2)     # [‘yy‘, ‘yy‘]

2.4. *+? 匹配匹配前面的表达式次数分别为(0-n) (1-n) (0-1)

 

运行结果:

 

运行结果:

运行结果:

运行结果:

运行结果:

 

re库和正则表达式

原文:https://www.cnblogs.com/picassooo/p/12625469.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!