import re
line = 'Cats are smarter than dogs'
matchobj = re.match(r'(.*) are (.*?) .*',line,re.M|re.I)
if matchobj:
print('match.group() : ',matchobj.group())
print('match.group(1) : ', matchobj.group(1))
print('match.group(2) : ', matchobj.group(2))
else:
print('No match!')
//re.match re.search
import re
line = 'Cats are smarter than dogs'
matchobj = re.match(r'dogs',line,re.M|re.I)
if matchobj:
print('match-->matchobj.group() : ',matchobj.group())
else:
print('No match!')
matchobj = re.search(r'dogs',line,re.M|re.I)
if matchobj:
print('search-->matchobj.group() :',matchobj.group())
else:
print('No match!!')
以上实例运行结果如下:
No match!!
search --> matchObj.group() : dogs
#替换匹配到的数据
#!/usr/bin/python
import re
phone = "2004-959-559 # This is Phone Number"
# Delete Python-style comments
num = re.sub(r'#.*$', "", phone)
print "Phone Num : ", num
# Remove anything other than digits
num = re.sub(r'\D', "", phone)
print "Phone Num : ", num
实例描述[Pp]ython匹配 "Python" 或 "python"rub[ye]匹配 "ruby" 或 "rube"[aeiou]匹配中括号内的任意一个字母[0-9]匹配任何数字。类似于 [0123456789][a-z]匹配任何小写字母[A-Z]匹配任何大写字母[a-zA-Z0-9]匹配任何字母及数字[^aeiou]除了aeiou字母以外的所有字符[^0-9]匹配除了数字外的字符
特殊字符类
实例描述.匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。\d匹配一个数字字符。等价于 [0-9]。\D匹配一个非数字字符。等价于 [^0-9]。\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。\W匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
Python 正则表达式
最新推荐文章于 2018-06-11 23:42:27 发布