Python正则表达式re

字符组 : [字符组]

在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字、字母、标点等等。

1 [1]                       匹配1
2 [123]        匹配1、23
3 [0-9]       匹配任意一个数字
4 [a-z]       匹配任意一个小写字母
5 [A-Z]       匹配任意一个大写字母
6 [A-Za-z]      匹配任意一个字母

示例如下:

print(re.findall('[1]','Zll5201314'))       #['1', '1']
print(re.findall('[123]','Zll5201314'))     #['2', '1', '3', '1']
print(re.findall('[0-9]','Zll5201314'))     #['5', '2', '0', '1', '3', '1', '4']
print(re.findall('[a-z]','Zll5201314'))     #['l', 'l']
print(re.findall('[A-Z]','Zll5201314'))     #['Z']
print(re.findall('[a-zA-Z]','Zll5201314'))  #['Z', 'l', 'l']
print(re.findall('[A-Za-z0-3]','Zll5201314')) #['Z', 'l', 'l', '2', '0', '1', '3', '1']

元字符:

.    匹配除换行符以外的任意字符
\w    匹配字母或者数字或者下划线
\s     匹配任意空白字符
\d     匹配数字
\n     匹配换行符
\t    匹配制表符tab
\b    匹配一个单词的结尾
^    匹配字符串的开始
$    匹配字符串的结尾
\W   匹配非字母或下划线或数字
\D   匹配非数字
\S   匹配非空白符
|    匹配|前或者后的内容
()    匹配括号内的表达式,也表示一个组

示例如下:

print(re.findall('.','love_u 520')) #['l', 'o', 'v', 'e', '_', 'u', ' ', '5', '2', '0']
print(re.findall('\w','love_u 520')) #['l', 'o', 'v', 'e', '_', 'u', '5', '2', '0']
print(re.findall('\s','love_u 520')) #[' ']
print(re.findall('\d','love_u 520')) #['5', '2', '0']
print(re.findall('\n','love_u 520')) #[]
print(re.findall('\b','love_u 520')) #[]
print(re.findall('^l','love_u 520')) #['l']
print(re.findall('520$','love_u 520'))#['520']
print(re.findall('\W','love_u 520')) #[' ']
print(re.findall('\D','love_u 520')) #['l', 'o', 'v', 'e', '_', 'u', ' ']
print(re.findall('\S','love_u 520')) #['l', 'o', 'v', 'e', '_', 'u', '5', '2', '0']
print(re.findall('love|u','love_u 520')) #['love', 'u']

量词:

n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。
1 print(re.findall('5*','555 5')) #['555', '', '5', '']
2 print(re.findall('5+','555 5')) #['555', '5']
3 print(re.findall('5?','555 5')) #['5', '5', '5', '', '5', '']

 

posted @ 2018-11-02 17:11  梦痕~  阅读(195)  评论(0编辑  收藏  举报