正则表达式写法:
1.字面量写法: var re = //d+/gi;
2.构造函数写法: var re = new RegExp(‘//d+’, ‘gi’); 注意两个 // ,因为JavaScript中 / 需要转义
一.正则表达式中的转义字符
转义字符:单独使用字母本身有意义;在前面加上 / 后改变原有意义
二.量词
用来描述相邻的前面的单个字符匹配规则出现的次数
量词使用 {a, b} 表示,其中 b 可以省略,意义不同
三.字符类
1.使用 [] 描述一类字符, 整体只代表一个字符 ,表示该字符在某个范围内。
2./a[0-9]c/ 匹配三位字符串,第一位是 a ,第三位是 c ,第二位是 ‘0’-‘9’ 之间的任何一位都可以匹配成功
3.[] 多种规则是 或 | 的关系: [0-9a-zA-Z] 等
整个字符类 [0-9a-zA-Z] 只代表一位字符
注意,字符类中的 ^ 表示非的意思,不在某个范围内 : [^/d] 表示非数字的字符
四.修饰符
1.g — global :全局匹配,找到所有的匹配项,不是在第一个匹配后停止
2.i — ignored :忽略大小写
3.m :多行,将开始字符 ^ 和结束字符 $ 视为在多行上工作(每匹配一行的开始和结束以 /n 和 /r 分割)
4.u :将模式视为Unicode序列点的序列
五.匹配子项
对于复杂的正则表达式,可以使用 () 将其拆分为多个部分, 在 replace(re, fn) 回调函数中可以简化匹配内容的操作
var re = /(/d+)(/w)(/S)/;
fn($0, $1, $2 …)
1.$0 代表正则表达式本身匹配到的内容: (/d+)(/w)(/S)
2.$1 代表正则表达式的第一个匹配子项: (/d+)
3.$2 代表正则表达式第二个匹配子项: (/w)
六.重复子项
主要用于匹配字符串中重复的字符
1.var re = /(a)(b)(c)/1/; : /1 表示重复的第一个子项 (b) ,第4个位置的字符与第1个位置的字符相同
2.var re = /(a)(b)(c)/2/; : /2 表示重复的第二个子项 (b) ,第4个位置的字符与第2个位置的字符相同
3.var re = /(a)(b)(c)/3/; : /3 表示重复的第三个子项 (c) ,第4个位置的字符与第3个位置的字符相同
七.逻辑或 |
使用 | 代表逻辑或, | 左右两个操作数只要有一个满足要求即可
八.开始、结束标记
1.不在 [] 中使用 ^ , ^ 表示以最近的匹配字符规则开始整个匹配;
2.$ 表示以最近的匹配规则结束匹配
作用范围只是 ^ 之后的第一个子项; $ 前的第一个子项
转载请注明来源网站:blog.ytso.com谢谢!
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/14952.html