爬虫之正则表达式

.                      匹配任意一个字符(\n除外)  

[]                     匹配[]中列举的字符

\b                    匹配1个单词的边界

\B                    匹配非单词边界

\d                    匹配数字,即0-9

\D                    匹配非数字,即不是数字

\s                     匹配空白,即空格,tab键(\t),\n,\r

\S                     匹配非空白

\w                    匹配单词字符,即a-z、A-Z、0-9 、_

\W                   匹配非单词字符 

*                      匹配前一个字符出现0次或者无数次,即可有可无

+                     匹配前一个字符出现1次或者无数次,即至少有1次

?                    匹配一个字符出现1次或者0次,即要么有一次,要么没有

^                     匹配字符串开头

$                     匹配字符串结尾

|                      匹配左右任意一个表达式

(ab)                 将括号中的字符作为一个分组

{m}                  匹配一个字符出现m次

{m,}               匹配前一个字符至少出现m次

{m,n}             匹配一个字符出现从m到n次

(?P<name>)    分组起别名

(?P=name)       引用别名为name分组匹配到的字符串

------------------------------------------------------------------------------------------

search:在字符串中进行搜索,从左边开始搜索,如果有多个,得到第一个后就停止搜索

findall:得到所有匹配的数据

------------------------------------------------------------------------------------------


题目1:匹配出163的邮箱地址,且@符号钱有4到20位字符,例如[email protected]

            ---->   \w{4,20}@163.com$

题目2:匹配电话号码

            ---->    1[345789]\d{9}$

题目3:匹配出163、126、qq、gmaol邮箱

            ---->    (\w{4,20})@(163|126|qq|gmail)\.(com|cn|net)$

            ---->    ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+[\.][a-zA-Z0-9_-]+$






  




猜你喜欢

转载自blog.csdn.net/sun_daming/article/details/79878005