限定符
1、用+ 限定必须出现一次,或连续多次。
这个元字符等效于 {1,}
例如规则是 /ab+/
那么 ab abb abbbb 都会识别 但是 a不会识别
2、* 可以限定出现的次数
规定其签到字符应该在目标对象中 没出现过 或者连续多次。当然一次也可以
等效于 {0,}
3、? 最多出现一次
?规定出现测试必须是 0 次或者一次
等效于 {0,1}
例如规则是 /ab?/
那么 ab a 都会识别 但是 abbbbbbb不会识别
4、使用{n} 限定连续出现的次数
{n} 规定前面的元素或者组合 至少出现n次。 n 为非负整数。
例如:a{2} 不能与 ba中的a进行匹配,可以与baa 的两个a匹配,与baaaab 中的任意两个相连的a进行匹配。
5、{n,} 限定至少出现的次数。
规定前面的元素和组合项 至少 连续出现 n 次。 n为非负整数,例如 a{2,} 不能与ab 中的内容匹配,可以与baaaaaaab 中所有的a匹配 这点与第四条不同。
6、{n,m} 制定最少出现的次数 与最多出现的次数。
至少连续出现 n次, 最多连续出现 m次。 n与m 是非负整数,其中 n 小于等于 m
逗号与数字之间不能有空格,
贪婪匹配与非贪婪匹配
默认情况下,正则表达式使用最长匹配原则,即贪婪匹配原则。
可以理解为能匹配三位的 就不会匹配两位。
但是 当? 紧跟着其他限定符号后面的时候,就会变成最短匹配原则 非贪婪匹配原则。
例如 ab+? 在 abbbbbbbbb中 就只匹配 ab 不会匹配 abbbbb很多个b这种。
选择匹配符
选择匹配符 | 表示两个选项中任意一个进行匹配,两个选项是 | 字符两边尽可能最大的表达式。