修饰符
g: 全局匹配
i: 匹配大小写
m 多行收缩
元字符
正则表达式有两种基本字符 :元字符 原义文本字符
原义概念:表示代表本来文本的字符;
元字符:在正则表达式中有特殊意义的字符
.* + ? $ ^ | \ () {} [] \n \d \w \r\ Q \f \b \cX…
字符类[]
一般情况下,一个字符对应一个字符串
特殊:需要配【某类】字符
1:使用[]来构建简单的类
2: 所谓的类是指符合某些特性的对象;一个泛指;而不是特定某个字符
例如[abc] 匹配 a b c 中其中一类就可以
字符类取反 [^]
1:使用 ^ 创建反向类 必须在[^] 内
2:不属于某类
[^abc] 非 a b c
范围类
1:[a-z] 匹配 a-z 任意字符
闭意区间表示包含a z 本身
2:在 [] 主城的类可以连写 [a-zA-Z]
预定义类
作用:匹配常见的字符
[^\r\n] 任意字符 除了回车和换行的
\d
\s
\S
\w
边界匹配的字符
^ 开头
$ 结尾
\b 单词边界
\B 非单词边界
量词
量词:是匹配一个字符的长度多少?
匹配一个连续出现20次的字符;字符长度为20
? 出现0次或者1次
- 一次或者多次 /\d{1,}/
- 出现0次或者多次
{n} 一个正则字符出现n次
{n,m} 出现n到m 次
{n,} 至少出现n 次
贪婪模式 非贪婪模式
\d{3,6} 贪婪模式 尽可能多的匹配
\d{3,6}? 非贪婪模式;尽可能少的匹配
分组:
需求:撇需yyc 连续3次出现次数
yyc{3} c3次
(yyc){3}
1:小写英文字母数字练习出现3次、
或
多个分支走任意一个分支都可以
| 或
(yyc|wjr) yyc或者wjr
反项引用
$1$2$3 捕获分组中的内容
忽略分组
不想捕获某个分组时候,在分前后面加上?:就可以了
例如:
(?:yyc) 不会捕获到yyc