您的位置首页百科知识

Python re模块学习教程

Python re模块学习教程

的有关信息介绍如下:

Python re模块学习教程

Python re模块使用正则表达式处理文本的一个经典模块,衍生于Perl的正则表达式。经典函数有findall(),search(),finditer(),match()等,用于查找,匹配。也有split(),escape()等不常用的函数。各个对象又有相关的属性,如flags等。

导入re模块

#导入正则表达式模块

import re

再来一个简单的例子演示

#简单演示

s='123abc123abc123abc'

print s

print re.findall(r'123',s)

#'r'...''表示raw字符串

#功能字符:'.','*','?','^','$','/'

#分界符:'[',']','(',')','{','}'

#转义字符:'\d','\w','\s','\b'

#'|'表示或

s='I have a pen and I have a apple'

print s

print re.findall(r'I have a pen|apple',s)

print re.findall(r'I have a (?:pen|dog)',s)

使用无捕获组与一般或'|'的区别

无捕获组使用'(?:...)'格式

#无捕获组:'(?:)'

s='ababababba babab babababab'

print re.findall(r'/b(?:ab)+/b',s)

#'.'匹配除换行符之外的所有字符,若选用re.S则包括所有字符

s='123\n456\n789'

print s

print re.findall(r'.+',s)

print re.findall(r'.+',s,re.S)

#'^'匹配开头'$'匹配结尾

#'\d'匹配数字

#'\D'匹配非数字

#'\w'匹配字母和数字

#'\W'匹配非字母和数字

#'\s'匹配空格符、制表符、回车符等表示分隔意义的字符

#'\S'匹配非间隔符

#'\A'匹配开头

#'\Z'匹配结尾

s='123\nabc\n123'

print s

print re.findall(r'^\d+',s,re.M)

print re.findall(r'\A\d+',s,re.M)

print re.findall(r'\d+$',s,re.M)

print re.findall(r'\d+\Z',s,re.M)

匹配边界有'\s'和'\b'

两者的不同在于'\s'返回边界‘ ’

#'\b'匹配边界,'\s'匹配边界

s='abc abc abc abcabcabc'

print s

print re.findall(r'\babc\b',s)

print re.findall(r'\sabc\s',s)

#'\B'匹配非边界

print re.findall(r'\Babc\w+',s)