# 正则表达式:一组匹配字符串的规则 # 正则表达式中的用法: # 1.用于对字符串规则要求的判断 # 2.在一段字符串中经过一定的筛选,找到符合规则的内容 # 应用领域: # 1.登录界面的表单验证 # 2.爬虫,需要筛选出一些信息进行分析 # 3.自动化开发 # 元字符:d数字,w字母数字字符串,s空格或者换行或制表符,(前三者字母换成大写表示相反的意思),.表示非换行符 # ^以什么开头,$以什么结尾,|表示或者,()表示一个组,[]表示匹配的字符,[^]表示非什么的所有字符 # 量词:{n}表示重复n次;{n,}表示n到n+次;{n,m}表示n到m次,一般遵循贪婪匹配;*表示零次或多次;+表示一次或多次;?表示可有可无 # 帮助学习的工具 http://tool.chinaz.com/regex/测试匹配的一个网站 # [1-9]d{16}[0-9X]|[1-9]d{14} 身份证号 # [1-9]d{14}(d{2}[1-9X])? 身份证号 # 特殊的用法和现象 # ?的使用 # 1. 在量词的后面跟了一个 ? 取消贪婪匹配 非贪婪(惰性)模式 # ?? *? +? {n}? # 李.{1,3}?和 李莲英和 惰性匹配 回溯算法 # 最常用 .*?x 匹配任意字符直到找到一个x # 字符量词: 遵循贪婪匹配 # 字符量词?: 遵循惰性匹配