python 正则表达式
1.特殊符号和字符
1.1 特殊符号
说明 | 样例 | |
^或(\A) | 匹配字符串的开始 | ^hehe |
$或(\Z) | 匹配字符串的结尾 | txt$ |
re1|re2 | 或 | ha|he |
. | 匹配除换行符外的任意字符 | a1b,a2b,a#b |
* | 匹配(前面出现的正则表达式)0次或多次 | [A-Za-z0-9]* |
+ | 匹配(前面出现的正则表达式)1次或多次 | [a-z]+\.com |
? | 匹配(前面出现的正则表达式)0次或1次 | goo? |
{N} | 匹配(前面出现的正则表达式)N次 | [0-9]{3} |
{M,N} | 匹配(前面出现的正则表达式)M次或N次 | [0-9]{5,9} |
[...] | 匹配字符组里出现的任意一个字符 | [aeiou] |
[..x-y..] | 匹配从字符x到y中的任意一个字符 | [0-9],[A-Za-z] |
[^...] | 不匹配此字符集中出现的任何一个字符,包括某一范围的字符 | [^aeiou],[^A-Za-z0-9] |
(*|+|?|{})? | 用于上面出现的任何“非贪婪”。版本重复匹配次数符号 | .*?[a-z] |
(...) | 匹配括号中正则表达式,并保存为子组 | ([0-9]{3})?,f(oo|u)bar |
1.2 特殊字符
说明 | 样例 | |
\d | 匹配任何数字;(\D 与之相反,匹配任何非数字) | \d+.txt |
\w | 匹配任何数字和字符(包括汉字),(\W 与之相反) | [A-Za-z_]\w+ |
\s | 匹配任何空白符,(\S与之相反) | of\sthe |
\b | 匹配单词边界,(\B与之相反) | \bThe\b |
\nn | 匹配已保存的子组(参考(...)) | price:\16 |
\c | 逐一匹配特殊字符c(即取消它的特殊含义) | \.,\\,\* |
2. 常见字符详解
2.1 匹配任意一个单个的字符(.)
.. # 任意两个字符
\. # 匹配英文句号(.)
3. 匹配与搜索
(1)匹配
试图从整个字符串的开头进行匹配
(2)搜索
可从一个字符串的任意位置开始匹配