正则表达式
定义:一种匹配字符串的规则。
作用范围:只能用于处理字符串。
正则表达式能做什么?
A.可以制定一个规则
1、来确认某一个字符串是否符合规则
2、从大段的字符串中找到符合规则的内容
B.程序领域
登录注册页的表单验证
爬虫
C.自动化开发
日志开发
元字符
[ ] 字符组 [0-9] = \d
[a-z] [A-Z]
[0-9a-zA-Z] 不能倒着写
\s 空白符 (空格、回车、制表符)
\S 匹配非空白
\d 匹配所有的数字
\D 匹配所有的非数字
\w 匹配数字字母下划线
\W 匹配所有非数字字母下划线
\t 制表符
\n 换行符
[\d\D] [\w\W] [\s\S] 都表示所有
[^a] 匹配除了a以外的其他
^ 匹配字符串的开始
$ 匹配字符串的结尾
a|b 匹配 a 或 b 前边放的是长的,后边是短的 比如 abc | ab 而不能是 ab | abc
. 匹配除了换行符以外的所有
量词
? 匹配0次 或 1 次
+ 匹配1次或多次
* 匹配0次或多次
{n} {n,} {n,m}
() 表示分组 将括号里的内容看成一个整体。
贪婪匹配
在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配
\d{2} 匹配 2 个 数字
\d{2,} 匹配最少 2 个 数字 默认到正无穷
\d{2,5} 匹配2个至5个数字 默认从大的开始计算
回朔算法 每个字符从前往后匹配,匹配不到从后往前匹配,匹配到就结束。
量词后边+ ? 表示结束贪婪匹配采取惰性匹配,匹配尽可能短的。
+?
*?
??
{n}?
.*?x 表示匹配任意字符,直到找到一个x