[]/*指定一个字符集,用来匹配其中的任意一个字符*/
#coding:utf-8
import re
s = r'abc'/*定义时r不能丢,只是正则的一种形式,表示abc字符串*/                      元字符在字符集中不起作用[amk$]
print re.findall(s,"aaaaaaaaaaaaaaaaaaaaaa")
print re.findall(s,"aaaaaaabcaaaaaaaaaabcaa")
st="top tip tap twp tep"
res = r"top"
print re.findall(res,st)
res = r"t[io]p"/*表示取tip或者top都被取到[]表示或者的意思*/
print re.findall(res,st)
res=r"t[^io]p"/*表示除了tip,top都能被取到,^表示除了*/
print re.findall(res,st)

D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
[]
['abc', 'abc']
['top']
['top', 'tip']
['tap', 'twp', 'tep']

Process finished with exit code 0

 


#coding:utf-8
import re
s = "hello word, hello word"
r = r"hello"
print  re.findall(r,s)/*用r这个正则来匹配s这个字符串*/
r = r"^hello"/*只取开头单词hello*/
print  re.findall(r,s)
s = "word,hello word"
print re.findall(r,s)/*若开头不是hello,则输出一个空列表*/
r = r"word$"/*取最末尾的单词Word*/
print re.findall(r,s)
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
['hello', 'hello']
['hello']
[]
['word']

Process finished with exit code 0


r = r"x[0-9]x"/*表示0到9这十个数字*/
print re.findall(r.‘x1x x2x x9x')
r = "t[abc$]"/*在方括号中$和^只表示符号,无任何实际意义*/


#coding:utf-8
import re
r = r"^abc"
print re.findall(r,"abc")
print re.findall(r,"^abc")
r = r"\^abc"/*\把特殊字符当成普通字符处理*/
print re.findall(r,"^abc")
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
['abc']
[]
['^abc']

Process finished with exit code 0
\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]
  


#coding:utf-8
import re
r = r"^010-?\d{8}$"/*-?表示-可有可无,{x}表示\d重复x次,^表示开头数$表示结尾数*/
print re.findall(r,'010-2343245')
print re.findall(r,'010-23456789')

r = r"ab*"/*b的重复数字可以是零次一次或更多*/
print re.findall(r,"a")
print re.findall(r,"abbbbbb")
r = r"ab+"/*贪婪模式,做最大匹配即输出所有的字符*//*+表示重复数字至少有一次*/
print re.findall(r,"a")
print re.findall(r,"ab")
print re.findall(r,"abbbbbb")
r = r"ab+?"/*非贪婪模式,做最小匹配,即只输出重复数字一次*/
print re.findall(r,"abbbbbbbbbbbb")
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
[]
['010-23456789']
['a']
['abbbbbb']
[]
['ab']
['abbbbbb']
['ab']

Process finished with exit code 0

#coding:utf-8
import re
r = r"a{1,3}"/*至少有1个重复,最多有3个重复*/
print re.findall(r,'a')                                                      {0,}等同于*  {1,}等同于+   {0,1}等同于?                                                  
print re.findall(r,'d')
print re.findall(r,'aaaaa')/*若大于3,则分成多个字符串出现*/
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
['a']
[]
['aaa', 'aa']

Process finished with exit code 0

 

 

 

#coding:utf-8
import re
r1 =r"\d{3,4}-?\d{8}\\"       /*加r时后边\不会被特殊处理,不加r,打印\就会报错*/
print re.findall(r1,"010-12345677\\")
p_tel=re.compile(r1)      \*用re.compile编译正则表达式*\
print p_tel
print p_tel.findall('010-234455628\\')   \*缺点:输出字节只根据要求长度进行截取*\

csvt_re = re.compile(r'csvt',re.I)        \*后边的re.I使用后可以不用区分大小写*\
print csvt_re.findall('CSVT')
print csvt_re.findall('Csvt')
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
['010-12345677\\']
<_sre.SRE_Pattern object at 0x0258E248>
[]
['CSVT']
['Csvt']

Process finished with exit code 0


#coding:utf-8
import re
r1 = r"csvt.net"\*点的含义是点或者一个字母*\
print re.findall(r1,'csvt.net')
print re.findall(r1,'csvtonet')
print re.findall(r1,'csvt\nnet')
print re.findall(r1,'csvt\nnet',re.S)\*大写的S和点搭配使用的含义是包括换行在内的所有字符*\
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled1/.idea/正则符号的使用.py
['csvt.net']
['csvtonet']
[]
['csvt\nnet']

Process finished with exit code 0

Process finished with exit code 0

 

#coding:utf-8
import re
s="""
hello csvt
csvt hello
hello csvt hello
csvt hehe
"""
r = "^csvt"
print re.findall(r,s)
print re.findall(r,s,re.M)   /*若输入为多行的时候re.M可以与$和^一起使用,使^和$发挥之前的作用*/
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled2/正则表达式.py
[]
['csvt', 'csvt']

Process finished with exit code 0

 


#coding:utf-8
import re
tel = r"""
\d{3,4}
-?
\d{8}                           X与verbose意思一样
"""
print re.findall(tel,'010-12345678',re.X)/*正则为多行的时候用re.X可以输出成一行*/
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled2/正则表达式.py
['010-12345678']

Process finished with exit code 0

#coding:utf-8
import re
email = r"\w{3}@\w+(\.com|\.cn)"               \*可以有分组,返回值优先返回分组中的数据,分组中可以出现或这种关系*\
print re.findall(email,'zzz@csvt.com')