[] :字符集,字符集中无元字符,+,*,?,.,^,$,{,}都是普通字符
字符集中有特殊意义的符号:
- :[a-z] 小写字母
[A-Z] 大写字符
[0-9] 数字
^ :[^a-z] 非小写字母
\ :转义符
\d 匹配任何十进制数;它相当于类[0-9]
\D 匹配任何非数字字符;它相当于类[^0-9]
\s 匹配任何空白字符;它相当于类[\t\n\r\f\v]
\S 匹配任何非空白字符;它相当于类[^\t\n\r\f\v]
\w 匹配任何字母数字字符;它相当于类[a-zA-Z0-9_]
\W 匹配任何非字母数字字符;它相当于类[^a-zA-Z0-9_]
\b 匹配一个特殊字符边界,比如空格,&,#等
>>> re.findall("x[yz]","xyuuuu")
['xy']
>>> re.findall("x[yz]","xyuuxzuu")
['xy', 'xz']
>>> re.findall("x[yz]p","xypuuxzpuu")
['xyp', 'xzp']
>>> re.findall("x[y,z]p","xypuuxzpux,pu")
['xyp', 'xzp', 'x,p']
>>> re.findall("q[a*z]","ksadfkq")
[]
>>> re.findall("q[a*z]","ksadfkqaa")
['qa']
>>> re.findall("q[a-z]","quo")
['qu']
>>> re.findall("q[a-z]*","quo")
['quo']
>>> re.findall("q[a-z]*","quodjfklsjalf")
['quodjfklsjalf']
>>> re.findall("q[a-z]*","quodjfklsjalf9")
['quodjfklsjalf']
>>> re.findall("q[0-9]*","quodjfklsjalf9")
['q']
>>>
>>>
>>> re.findall("q[^a-z]*","q213")
['q213']
>>> re.findall("q[^a-z]*","qz")
['q']
>>> re.findall("q[^a-z]","qz")
[]
>>> re.findall("\([^()]\)","12+(34*6+2-5*(2-1))")
[]
>>> re.findall("\([^()]*\)","12+(34*6+2-5*(2-1))")
['(2-1)']
>>>
>>>
>>> re.findall("\d","12+(34*6+2-5*(2-1))")
['1', '2', '3', '4', '6', '2', '5', '2', '1']
>>> re.findall("\d+","12+(34*6+2-5*(2-1))")
['12', '34', '6', '2', '5', '2', '1']
>>> re.findall("\D+","12+(34*6+2-5*(2-1))")
['+(', '*', '+', '-', '*(', '-', '))']
>>> re.findall("\s+","hello world")
[' ']
>>> re.findall("\S+","hello world")
['hello', 'world']
>>> re.findall("\w+","hello world_")
['hello', 'world_']
>>> re.findall("\w","hello world_")
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd', '_']
>>> re.findall("www.baidu","www.baidu")
['www.baidu']
>>> re.findall("www.baidu","www/baidu")
['www/baidu']
>>> re.findall("www\.baidu","www/baidu")
[]
>>> re.findall("www\.baidu","www.baidu")
['www.baidu']
>>> re.findall("www*baidu","www*baidu")
[]
>>> re.findall("www\*baidu","www*baidu")
['www*baidu']