第15章正则表达式
re正则表达
搜索:字符串任意部分查找
匹配:字符串从起始或部分匹配某个模式
. :通配符,可代表任意字符
^:自复查开始
$:字符串结尾
*:0次或多次
+:至少一次
?:0次或1次
{N,M}:N到M次
{a,b,c}:匹配中任意一个字符
[a-z]:a到z中任意字符
[^…]:不匹配字符集中任意字符
\d:数字
\D:与\d相反
\s:空白符号
\w:数字和字符,单词包含数字和字符
| :表示匹配多个正则表达式中的一个
at | home:
用(())组建组:对正则表达式进行分组,匹配子组
适用于提取每组匹配的内容
15.3 正则表达式和python语言
compile(pattern , flags=0) :对正则表达式进行编译,返回正则对象
match(pattern , string ,flags=0):用正则表达式pattern匹配自复查unstring
search(pattern , string,flags=0)
findall(pattern ,string)
finditer(pattern ,string) :返回迭代器
split(pattern ,string ,max=0):根据pattern中分隔为一个列表,返回列表,最多分割max次
sub(pattern , repl , string ,max=0):把匹配pattern的地方换成自复查unrepl
group(num=0):返回全部匹配对象
groups():返回包含全部匹配的子组的元组
建议:对正则先预编译,
原始字符串:如果不用原始字符串\b会被理解为退格键,
想要表示反斜杠和b,那么用\做转义,写成\\b
复杂,因此用原始字符串r’\b’
搜索与匹配的比较
+:是贪心的,用非贪婪操作符”?”