码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式 整理

时间:2019-05-01 17:21:49      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:多个   数字   列表   nbsp   字符列表   str   正则表达   findall   \n   

re.findall  匹配到正则表达式的字符,匹配到的每个字符存入一个列表,返回一个匹配到的所有字符列表
一. 匹配单个字符
import re
# \w 匹配所有字母、数字、下划线
re.findall(\w,abcd_123    *-)
# 结果为:[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘_‘, ‘1‘, ‘2‘, ‘3‘]


# \s 匹配所有不可见字符
#  不可见字符有:\n \t 空格
re.findall(\s,abcd \n\tdf21  )
# 结果为:[‘ ‘, ‘\n‘, ‘\t‘, ‘ ‘, ‘ ‘]


# \d 匹配所有数字
re.findall(\d,a1bc3 4d \n\tdf21  )
# 结果为:[‘1‘, ‘3‘, ‘4‘, ‘2‘, ‘1‘]


# . 匹配\n换行符以外的所有可见和不可见字符
re.findall(., c3 d\n\td1)
# 结果为:[‘c‘, ‘3‘, ‘ ‘, ‘d‘, ‘\t‘, ‘d‘, ‘1‘]

二. 匹配多个字符

#匹配多个字符:* + ? {}
import re
#  * 匹配0或n次
re.findall(\d*, 1a23)
# 结果为:[‘1‘, ‘‘, ‘23‘, ‘‘]


#  + 匹配1或n次
re.findall(\d+, 1a23)
# 结果为:[‘1‘, ‘23‘]
#前面2个是叫贪婪匹配


#  ? 匹配0或1次
re.findall(\d?, 1a3)
# 结果为:[‘1‘, ‘‘, ‘3‘, ‘‘]
# 这个叫非贪婪匹配

三. 匹配指定范围字符

# {m,n} 匹配最少m次,最多n次
# {m} 只匹配m次的
# {,n}  匹配最大n次,最小次数不限
# {m,}  匹配最小m次,最大次数不限
re.findall(\d{2,4}, 1a33g134nn12345)
# 结果为:[‘33‘, ‘134‘, ‘1234‘]
re.findall(a{3}, 1aaa3*G+1aaaan#b)
# 结果为:[‘aaa‘, ‘aaa‘]


# | 匹配 或 语法的字符
re.findall(1|23|4, 1a33g134nn12345)
# 结果为:[‘1‘, ‘1‘, ‘4‘, ‘1‘, ‘23‘, ‘4‘]


# [ ] 匹配括号内的字符(只匹配单个)
re.findall([123], 1a33g134nn12345)
# 结果为:[‘1‘, ‘3‘, ‘3‘, ‘1‘, ‘3‘, ‘1‘, ‘2‘, ‘3‘]
re.findall([0-9a-zA-Z], 1a3*G+1n#)
# 匹配0到9或者a到z或者A到Z单个字符
# 结果为:[‘1‘, ‘a‘, ‘3‘, ‘G‘, ‘1‘, ‘n‘]


# ^x 行首匹配
# x$ 行尾匹配
re.findall(^1, 1a3*G+1n#b)
re.findall(1$, 1a3*G+1n#b)
# 结果为:[‘1‘]     
# 结果为:[‘b‘]

 

 

 

未完待续...

正则表达式 整理

标签:多个   数字   列表   nbsp   字符列表   str   正则表达   findall   \n   

原文地址:https://www.cnblogs.com/oldboy2019/p/10800192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!