常用正则表达式


 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:woshinidaye
 4 #数据解析和提取
 5 
 6 # 正则表达式  regular expression
 7 # .    :匹配除换行符外的任意一个字符,..就匹配两个
 8 # \w   :匹配数字、子母、下划线
 9 # \s   :匹配任意空白符
10 # \d   :匹配数字
11 # \n   :匹配换行符
12 # \t   :匹配制表符
13 
14 # ^    :匹配字符串的开始
15 # $    :匹配字符串的结尾
16 
17 # \W   :匹配非数字、非子母、非下划线
18 # \S   :匹配非空白符
19 # \D   :匹配非数字
20 # a|b  :匹配字符a或者字符b,|前后需要区分空格哟,a,b前后也需要区分
21 # ()     :匹配括号内的内容,也表示一个组
22 # []     :匹配字符组,[123asd],匹配123asd字符的都行,把被匹配的字符串,挨个和123asd比较
23 # [0-9,a-z]
24 # [^0-9] :匹配非0-9
25 
26 # 量词
27 # *       :匹配0次或者多次
28 # +       :匹配一次或者更多次
29 # ?       :匹配零次或者一次
30 # {n}     :重复n次
31 # {n,}    :重复n次或者更多次
32 # {n,m}   :匹配n次到m次
33 
34 # 贪婪匹配和惰性匹配
35 # .*        :贪婪匹配           #尽可能多匹配
36 # .*?       :惰性匹配           #?是让*尽可能的少,
37 '''
38 玩毛线游戏,玩吃鸡游戏,组队游戏,加入游戏  ====>玩.*游戏  ====> 玩毛线游戏,玩吃鸡游戏,组队游戏,加入游戏
39 玩毛线游戏,玩吃鸡游戏,组队游戏,加入游戏  ====>玩.*?游戏  ====> 玩毛线游戏    玩吃鸡游戏   #输出两个匹配结果
40 
周杰伦
林俊杰
=====>
.*?
41 ''' 42 # 匹配URL:[a-zA-z]+://[^\s]* 43 # 匹配email:[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])? 44 45 46 47 # re解析 48 49 #bs4解析 50 51 52 #xpath解析