您的位置:首页 > 编程语言 > Python开发

Python 正则表达式

2018-03-21 15:21 274 查看
Python 正则表达式
 正则表达式并不是某门语言下定义的,拥有自己独立的语法规则,当然不同语言在使用正则表达式时会稍有不同,但基本上不会有大的变化。
这里对正则表达式知识做一些整理,方便以后遗忘之后查阅。
 
下面文章对正则表达式讲解很不错:
http://www.runoob.com/python/python-reg-expressions.html
正则表达式的语法讲解: http://www.jb51.net/article/921.htm 所用库:
import  re
 
正则表达式相关函数:
(正则表达式处理函数并不多,使用起来也相对简单)
re.compile()
re.match()
re.search()
re.sub()
re.findall()
re.finditer()
re.spilt()
 
相关函数讲解:
1. re.compile()
Compile函数用于编译正则表达式,生成一个正则匹配对象(Pattern),简而言之就是填入正则表达语法,产生一个正则匹配对象,这个对象就是匹配模板。
 
例:pattern1 = re.compile(r‘\d+’) 匹配语法是连续的一串数字
 
 
2. re.match(pattern, string, flags = 0)
功能说明:这是一个匹配函数,该方法会从string的头部开始,尝试匹配pattern,一直向后匹配,如果遇到无法匹配的字符,立即返回None。
参数说明:



 
例:pattern = re.compile(r‘hello’)
result = re.match(pattern, ’helloooo’ )
print(result.group())  #输出为hello
 
 
3. re.search(pattern, string, flags = 0)
功能说明:这是个匹配函数,与match函数不同,re.search扫描整个字符串返回第一个成功的匹配。
参数说明:与match函数参数说明一致。
例:pattern1 = re.compile(r‘com’)
result = re.search(pattern1, ’www.husin.com’)
Print(result.group())  #输出为com   
  
 
4. re.sub(pattern, repl, string, count = 0, flags = 0)
功能说明:用于替换字符串中的匹配项
参数说明:
 


例:去除电话号码中的’-’字符
Phone = “0898-67643272”
num = re.sub(r‘\D’, ’’, phone)      #\D表示非数字字符
print(num)    #输出为:089867643272
 
 
5. Re.findall(string, pos, endpos)
功能说明:在字符中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的就返回一个空列表。注意:match和search是匹配一次findall匹配所有。
参数说明:
 


实例:
 


 
 
6.  Re.finditer(pattern, string, flags = 0)
功能说明:和findall类似,在字符串中找到正则表达式所匹配的所有子串,并把他们作为一个迭代器返回。
参数说明:
 


实例:


 
 
 
7. re.spilt(pattern, string, maxsplit, flags)
功能说明:按能够匹配的子串分割后返回列表。
参数说明:



实例:
 


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 正则表达式