【JS系列8】javascript 正则表达式
1.创建
1-1 方式
- 字面量 var 变量名 = /表达式/模式修饰符
- 构造函数 var 变量名 = new RegExp(“表达式”,“模式修饰符”)
1-2 表达式
2. 属性
2-1 实例属性
- global 检测是否设置g标记
- ignoreCase 检测是否设置了i标记
- multiline 检测是否设置了m标记
- source 返回正则表达式的字符串表示
- lastIndex 返回被查找字符串中下一次成功匹配的开始位置
2-2 构造函数属性
3. 方法
3-1 实例方法
exec
test
3-2 字符串方法
- match 找到一个或多个正则表达式的匹配
- replace 替换与正则表达式匹配的子串
- search 检索与正则表达式相匹配的值
- split 把字符串分割为字符串数组
注意:贪婪匹配
需要特别指出的是,正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符。举例如下,匹配出数字后面的0
;
由于\d+
采用贪婪匹配,直接把后面的0
全部匹配了,结果0*
只能匹配空字符串了。
必须让\d+
采用非贪婪匹配(也就是尽可能少匹配),才能把后面的0
匹配出来,加个?
就可以让\d+
采用非贪婪匹配: