一、作用
1.从字符串中找到符合规则的内容;
2.判断字符串是否符合规则
二、规则
1.字符组
字符组:[] 中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的
[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[a-zA-Z] 匹配大小写
[a-zA-Z0-9] 匹配大小写+数字
[a-zA-Z0-9_] 匹配大小写+数字+下滑线
2.元字符
\w w表示word关键字, 匹配字母 数字 下滑线 和[a-zA-Z0-9_]等同
\d d表示digit 匹配所有的数字 和[0-9]等同
\s s表示space 匹配所有的空白 回车/换行符 制表符 空格 [\n\t ]等同,注意\t后面有一个空格
\n 匹配换行符
\t 匹配制表符
空格 匹配空格
\W \D \S 和\w \d \s 正好相反
\b 表示字符的边界,\b放在字符前面,表示左边界,放在字符后面,表示右边界
^ 匹配一个字符串的开始,例如:^a,匹配以a开头的内容
$ 匹配一个字符串的结束,例如a$,匹配以a结尾的内容
. 匹配除换行符外的所有内容
[] 只要是中括号内的内容都可以匹配
[^] 只要不是中括号内的内容都可以匹配
| 或,例如:a|b,符合a规则或者b规则的都可以匹配
() 分组: 表示需要给几个字符加上量词约束的时候,就把这些量词分在一个组
3.量词
{n} 表示量词之前的字符出现n此
{n,} 表示量词之前的字符至少出现n次
{n,m} 表示量词之前的字符出现n-m次
? 表示量词之前的字符出现0次或者1次
+表示量词之前的字符至少出现1次
*表示量词之前的字符出现的次数大于等于0
三、正则表达式的特点
1.贪婪匹配:它会在允许的范围内取最长的结果.
2.非贪婪模式/懒惰模式:在量词后面加上?
.*?x 表示匹配任意非换行符字符任意长度,遇到x就停止.