~~ 这是一部分学习的知识点总结~~
一、正则表达式定义
-
正则表达式使用某种预定义的模式去匹配一类具有共同特征的字符串,主要用于处理字符串,可以快速、准确地完成复杂的查找、替换等处理要求,在文本编辑与处理、网页爬虫之类的场合中有重要应用。
-
Python中,re模块提供了正则表达式操作所需要的功能。
二、正则表达式语法
元字符 | 功能说明 |
---|---|
. | 匹配除换行符以外的任意单个字符 |
* | 匹配位于*之前的字符或子模式的0次或多次出现 |
+ | 匹配位于+之前的字符或子模式的1次或多次出现 |
- | 在[ ]之内用来表示范围 |
^ | 匹配行首,匹配以^后面的字符开头的字符串 |
$ | 匹配行尾,匹配以$之前的字符结束的字符串 |
? | 匹配位于?之前的0个或1个字符。当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。 |
\ | 表示位于\ 之后的为转义字符 |
\num | 此处的num是一个正整数,表示子模式编号。 |
| | 匹配位于| 之前或之后的字符 |
\f | 换页符匹配 |
\n | 换行符匹配 |
\r | 匹配一个回车符 |
\b | 匹配单词头或单词尾 |
\B | 与\b含义相反 |
\d | 匹配任何数字,相当于[0—9] |
\D | 与\d含义相反,等效于[^0—9] |
\s | 匹配任何空白字符,包括空格、制表符、换行符,与[\f\n\r\t\v]等效 |
\S | 与\s含义相反 |
\w | 匹配任何字母、数字以及下划线,相当于[a-zA-Z0-9_] |
\W | 与\w含义相反,与“[^A-Za-z0-9_]”等效 |
( ) | 将位于( )内的内容作为一个整体来对待 |
{m,n} | { }前的字符或子模式重复至少m次,至多n次 |
[ ] | 表示范围,匹配位于[ ]中的任意字符 |
[^xyz] | 反向字符集,匹配除x、y、z之外的任何字符 |
[a-z] | 字符范围,匹配指定范围内的任何字符 |
[^a-z] | 反向范围字符,匹配除小写英文字母之外的任何字符 |