一、作用

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就停止.