正则
|
|
|
|
如果正则是已知的,优先选择字面量语法,而构造器的方式多用在运行时。
3个标志
- i: 让正则表达式不区分大小写
- g: 匹配模式中的所有实例
m: 允许匹配多行
匹配一类
- [abc]: a或b或c
- [^abc]: abc以外的任意字符
[a-m]: a到m之间的所有字符
重复出现
- ?: 出现1次或根本不出现
- +: 字符出现1次或者多次
- *: 字符出现0次或者多次
- a{4}: a连续出现4次
- a{4, 10}: a连续出现4次到10次之间的随意值
a{4,}: a连续出现4次以上的次数
分组
/(ab)+/ 匹配1个或者多个连续出现的字符串ab。
反向引用
在正则中所定义的捕获的反向引用。/^([dtn])a\1/,可以是任意1个以d,t,n开头的,并且后面跟着1个a字符,并且后面跟着的是和第一个捕获相同的字符的字符串。dad
捕获和表达式分组都使用小括号表示。
被动子表达式,阻止不必要的捕获: /((?:nijia-)+)sword/ ,防止任何意外的捕获,所以在确定表达式是只用于分组时,需要使用 被动子表达式”?:”。