@2368860385
2021-11-01T08:26:41.000000Z
字数 721
阅读 181
面向大数据的python开发
正则表达式是一个特殊的字符序列,可以方便的价差一个字符串是否与某个模式串匹配。
python
的re
包拥有全部的正则表达式功能。
语法 | 含义 |
---|---|
[ABC] | 匹配字符串中的所有ABC |
[^ABC] | 匹配字符串所有的非ABC |
[A-Z] | 匹配所有的A-Z大写字母 |
\s | 空白字符,包括换行 |
\S | 匹配非空白字符,不包括换行 |
\w | 匹配字母,下划线,数字,\w 等价于 A-Za-z0-9_ |
限定符 | 含义 |
---|---|
* | 表示前面的子表达式出现0次或者多次,abc*d 可以匹配abd ,abcd ,abccd |
+ | 表示前面的子表达式出现1次或者多次 |
? | 表示前面的子表达式出现1次或者0次 |
. | 匹配除\n 之外的任何字符 |
.* | 贪婪模式,可以匹配最长的,比如a.*b 会匹配aabab ,azzzzzzbbbbbbb 等,可以匹配以a开头,以b结尾的所有串 |
.*? | 懒惰模式,非贪婪模式,a.*? 会匹配aab ,ab ,acb ,即以a开头,以b结尾最短的,中间可以没有。就是找到一个a,然后再找到第一个b就结束 |
.+? | 懒惰模式,可以匹配以a开头,以b结尾,中间必须有的字符串,ab 是不可以的 |
() | 一个正则表达式开始结束的位置 |
{} | 表示限定符的开始结束,比如o{2} 可以匹配food 中的oo ,o{2,5} 表示o出现2次到5次,[1-9][0-9]{0,1} 匹配0-99的两位数 |
| | 两项之间做个选则 |
定位符 | 含义 |
---|---|
^ | 字符串开始的位置 |
$ | 匹配字符串结尾的位置 |
\b | 单词边界,字与空格间的位置 |
作用:从字符串的起始位置匹配模式串,
re.match(pattern, string, flags = 0)
pattern:需要匹配的正则表达式
string:要匹配的字符串
flags:标志位。