python正则表达式——方括号

正则表达式中方括号表示要匹配指定的几个字符之一 。

比如:
[abc] 可以匹配 a, b, 或者 c 里面的任意一个字符,等价于 [a-c] 。
[a-c] 中间的 - 表示一个范围从a 到 c。
[a-z]可以匹配所有的小写字母

一些元字符在方括号内就变得和普通字符一样了。
比如:
[akm.] 匹配 a k m . 里面任意一个字符,其中.在括号里面不在表示匹配任意字符,而是表示匹配 . 这个字符

如果在方括号中使用 ^ , 表示非方括号里面的字符集合。
比如:\d 匹配0-9之间任意一个数字字符,[^\d] 表示选择非数字的字符。

content = 'a1b2c3d4e5'
import re
a = re.compile(r'[^\d]')#前面加r表示不进行python语法的字符串转义
for one in a.findall(content):
    print(one)

运行结果为:
a
b
c
d
e

又如提取有效的手机号。
1表示第一个数字为1,[36]表示第二个数字为3或6,\d{9}表示匹配9个0-9之间的数字

content = '''
王一,13512345678,89
徐二,1b098766456,24
李三,13212394765,33
'''
import re
a = re.compile(r'1[36]\d{9}')#前面加r表示不进行python语法的字符串转义
for one in a.findall(content):
    print(one)

运行结果为:
13512345678
13212394765

上一篇:如何修改hexo中主题的css


下一篇:python正则表达式——花括号