正则表达式语法
字符 | 匹配 |
---|---|
. | 匹配任意字符(除了\n) |
[...] | 匹配字符集 |
\d / \D | 匹配数字/非数字 |
\s / \S | 匹配空白/非空白字符 |
\w / \W | 匹配单词字符[a-zA-Z0-9]/非单词字符 |
* | 匹配前一个字符0次或者无限次 |
+ | 匹配前一个字符1次或者无限次 |
? | 匹配前一个字符0次或1次 |
{m}/{m,n} | 匹配前一个字符m次或者n次 |
{m,} | 匹配前一个字符m次或更多次 |
*? / +? / ?? | 匹配模式变为非贪婪(尽可能少匹配字符 |
^ | 匹配字符串开头 |
$ | 匹配字符串结尾 |
\A / \Z | 指定的字符串匹配必须出现在开头/结尾 |
| | 匹配左右任意一个表达式 |
(ab) | 括号中表达式作为一个分组 |
\<number> | 引用编号为num的分组匹配到的字符串 |
(?P<name>) | 分组起一个别名 |
(?P=name) | 引用别名为name的分组匹配字符串 |
正则表达式
- 使用单个字符串来描述匹配一系列符合某个句法规则的字符串。
- 是对字符串操作的一种逻辑公式
- 应用场景:处理文本和数据
- 正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配, 则匹配成功;否则匹配失败。
import re