当前位置: 移动技术网 > IT编程>脚本编程>Python > 正则表达式 整理

正则表达式 整理

2019年05月02日  | 移动技术网IT编程  | 我要评论

超级马里奥兄弟下载,莫干山的蝉鸣,好听的英文歌曲网站

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']

 

 

 

未完待续...

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网