正则表达式
一.正则表达式
所有的模块都要经历两个步骤:
(1)要操作的概念本身 正则表达式 时间
(2)使用模块去操作它 re time
1.什么是正则表达式
一种可以匹配字符串的规则(只能匹配字符串)
2.正则表达式可以做什么?
(1)可以制定一个规则:
①来确定某一个字符串是否负责规则
②从大段的字符串中找到符合规则的内容
(2)程序领域
①登录注册的表单验证(web开发,要求简单语法)
②爬虫(把这个网页的源码拿到,并可以从源码中获取有效的信息,并进行数据分析)
③自动化开发(日志分析)
3.正则表达式的语法
(1)字符组
字符:
"." 匹配除换行符以外的任意字符,一个字符
"\w" 匹配字母或数字或下划线,一个字符
"\s" 匹配任意的空白符(回车,空格,制表符),一个字符
"\d"==[0-9] 匹配数字,一个字符
"\n" 匹配一个换行符
"\t" 匹配一个制表符
"\b" 匹配一个单词(包括字母.数字,下划线,特殊符号)的结尾
"^" 匹配字符串的开始
"$" 匹配字符串的结尾
"\W" 匹配非字母或数字或下划线
"\D" 匹配非数字
"\S" 匹配非空白符 (回车,空格,制表符)
"a|b" 匹配字符a或者字符b
"()" 匹配括号内的表达式,也表示一个组
"[...]" 匹配字符组中的字符
"[^...]" 匹配除了字符组中的字符的所有字符
(2)量词
(3)字符集 [] [^]
(4)分组()或| [^]
(5)转义符 \
(6)贪婪匹配
(7)特殊的用法和现象
?的使用:
①在量词的后面跟了一个?,取消贪婪匹配,则是惰性模式
最常用的 .*?x 匹配任意字符直到找到x (x是一个字符)
总结:
(1)元字符
(2)元字符 量词 贪婪匹配
(3)元字符 量词 ? 惰性匹配