正则表达式在处理字符串时很大的作用,爬虫中也经常用到,下面就将一些常用正则表达式做一整理记录,方便以后查看。
^d 表示匹配以d开头的字符串
. 表示匹配任意字符串
* 表示前面的字符串可以重复多遍
$ 表示结尾字符串,比如以3结尾的字符串可以表示为:3$
? 表示非贪婪模式,正则表达式默认为贪婪模式,贪婪模式下是反向匹配,即从后向前匹配。非贪婪模式正好相反
+ 限制字符出现次数,至少出现一次
{} 限制字符出现次数
{1} 字符出现一次 {2}出现两次 以此类推
{1,}字符至少出现一次。其他相同格式,以此类推
{1,3}字符至少出现一次,做多出现3次 。其他相同格式以此类推
| 表示为 或 的意思
() 表示匹配模式,只匹配()里面,匹配时从最外层()开始
\s 匹配空格 \s+ 匹配多个空格
\S 匹配除空格以外的任意字符 \S+ 表示匹配多个非空字符
\w 匹配a-z A-Z 0-9以及下划线中的任意字符
\W 匹配出a-z A-Z 0-9以及下划线以外的任意字符
[] 匹配括号中出现的任意字符
[1357] 表示可以匹配1,3,5,7中任意一个字符
[^] 表示取反,非 [^1]表示可以匹配除1以外的任意字符
[A-Za-z0-9] 表范围,[A-Z]表示可以取A-Z中的任意一个字符 (1[34578][0-9]{9}) 表示字符串以1开头,
第二个字符为3,4,5,7,8中任意一个字符,[0-9]表示0-9中任意一个数字,{9}表示重复[0-9]9次
[\u4E00-\u9FA5] 匹配汉字。默认匹配一个汉字
[\u4E00-\u9FA5] + 可匹配多个汉字
\d 匹配数字 \d+ 代表匹配连续的数字 \d{4}代表匹配四位数字
以上为常见正则表达式整理,不全的地方后面会继续追加。