正则表达式:
1. 概念: 一种字符串匹配规则
1.1 判断 input进来的 是不是qq号 是不是手机号 身份证号 ......
1.2 有一个文件,要求把手机号 qq号 取出来
2. 能做什么:
2.1 可以制定一个规则:
# 来确认某一个字符串是否符合规则的内容
# 从打断的字符串中找到符合规则的内容
2.2 程序领域
# 1,登录程序页的都表单验证 web开发 要求简单语法
# 2,爬虫 提取网页信息,找到自己需要的信息,数据分析
# 3,自动化开发 日志分析
3. 语法:
3.1 元字符
转义符 . 匹配除换行符外任意字符 w 匹配数字字母下划线 d 匹配数字 s 匹配空白符 匹配一个换行符 匹配一个制表符 匹配一个单词的结尾 ^ 匹配字符串的开始 $ 匹配字符串的开始 D 匹配非数字 W 匹配非数字字母下划线 S 匹配非空白 a|b 匹配字符a或者字符b () 匹配括号内的表达式,也表示一个组 group() [...] 匹配字符组中的字符 [^..] 匹配除了字符组中字符的所有字符 表示 非 [dD] [wW] [sS] 匹配所有
3.2 量词 ? + * 贪婪匹配
? 重复0次或者1次 + 重复1次或者更多次 * 重复0或者更多次 {n} 重复n次 {n,} 重复至少n次或更多次 {n,m} 重复n到m次
在量词后加? 取消贪婪匹配,变成惰性匹配
?? +? *? 回溯算法
最常用: .*?x 匹配任意字符,直到找到一个x