正则表达式

Posted whylinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

技术分享图片
 1 # tool.chinaz.com/regex/   这是一个在线的正则表达式测试工具
 2 # re模块,在python中想要使用正则表达式,要使用re模块来进行使用
 3 # 正则表达式
 4 
 5 # 学习正则表达式
 6 
 7 # 学习使用re模块来操作正则表达式
 8 
 9 
10 # 正则表达式是用来做字符串匹配的
11 # 正则可以用来解决使用字符串解决起来非常麻烦的事情
12 
13 
14 
15 
16 # 关于正则表达式,推荐看正则指引,正则在数据分析和爬虫等领域非常重要
17 
18 
19 # 谈到正则,就只和字符串相关了。
20 
21 # 正则表达式:
22 # 字符组:[字符组],在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示。用来匹配这个位置可能出现的一个字符
23     # [0123456789]  匹配到任意0~9之间的数字,
24     # [0-9] 匹配到任意0~9之间的数字,
25     # [a-z] 匹配a到z任意的小写字母
26     # [A-Z] 匹配A到Z任意的大写字母
27     # [A-Za-z0-9] 匹配0-9和a-z和A-Z的任意字符
28 # 元字符
29     # . 匹配除换行符以外的任意字符
30     # w 匹配字母数字下划线
31     # s 匹配任意的空白符
32     # d 匹配数字
33     # W 匹配非字母数字下划线
34     # S 匹配非空白符
35     # D 匹配非数字
36     # 
 匹配一个换行符
37     # 	 匹配一个制表符
38     #  匹配一个单词的结尾
39     # ^  匹配字符串的开始
40     # $  匹配字符串的结尾
41     # a|b 匹配a字符或b字符
42     # () 匹配括号内的表达式,也表示一个组
43     # [...]匹配字符组中的字符
44     # [^...]  # 匹配除了字符组中的字符外的所有字符
45 
46 # 量词  所有的量词只能工作在正则规则的后面.量词默认都是贪婪匹配,如果不要贪婪匹配则在量词后面加上?,则会尽可能少的匹配(也叫非贪婪匹配)
47     # * 重复0次或更多次
48     # + 重复一次或更多次
49     # ? 重复0次或1次
50     # {n} 重复n次
51     # {n,} 重复n次或更多次
52     # {n, m}重复n到m次
53 
54 
55 
56 # . ^ $
57  # ^海.$ 匹配两个字符,还要以海开头的
58 
59 
60 # 字符集 [] [^]
61 
62 # 分组()与或| [^]
63     # 需要对整体的内容进行量词的约束,则放到()中
64 
65 # 转义符
66     # 在字符串之前加r,让整个字符串不转义
67 
68 
69 # 几个常用的非贪婪匹配pattern(也叫惰性匹配)
70 # *? 重复任意次,但尽可能少重复
71 # +? 重复1次或更多次,但尽可能少重复
72 # ?? 重复0次或1次,但尽可能少重复
73 # {n, m}? 重复n到m次,但尽可能少重复
74 # {n, }? 重复n次以上,但尽可能少重复
75 
76 
77 # .*?的用法
78 # . 是任意字符
79 # * 是取0 至 无限长度
80 # ? 是非贪婪模式
81 # 合在一起就是 取尽量少的任意字符,一般不会单独这么写(因为这么写只会匹配0次),他大多用在.*?x  也就是?后面有个判断的结束符
82 
83 
84 # 实例,匹配手持机号
85 # (^13|15|16|17|18)[0-9]{9}     开头必须是13或15或16等结尾,之后匹配0-9数字,重复匹配9次
86 
87 # 实例,匹配身份证号
88     # ^[1-9]d{14}(d{2}[0-9x])?$
View Code

 

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式