正则表达式入门
正则表达式
https://www.runoob.com/python/python-reg-expressions.html
import re
line = "Cats are smarter than dogs"
pattern = r'(.*) than (.*)'
re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。
matchObj = re.match(pattern, line)
matchObj.group()
'Cats are smarter than dogs'
matchObj.group(1)
'Cats are smarter'
matchObj.group(2)
'dogs'
参数 | 描述 |
---|---|
pattern | 匹配的正则表达式 |
string | 要匹配的字符串。 |
flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。参见:正则表达式修饰符 - 可选标志 |
re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配。
searchObj = re.search(pattern, line)
searchObj.group()
'Cats are smarter than dogs'
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
re.compile 函数
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
语法格式为:
re.compile(pattern[, flags])