正则模式修饰符、多行文本匹配、分组、前瞻、replace替换、split分割、match提取"/>
前端js——正则模式修饰符、多行文本匹配、分组、前瞻、replace替换、split分割、match提取
1.模式修饰符
i表示不区分大小写
var find=/h/i;
2.在多行文本中进行关键字匹配
HTML
<textarea id="text"></textarea><br />
<input type="button" value="验证是否存在非法字" id="btn"/>
JS
btn.function(){//得到多行文本内容var yan=text.value;var find=/黄|赌|毒/m;//m是将内容视为多行var result=find.exec(yan);console.log('匹配到的内容'+result[0]);console.log('在几号位置匹配到'+result.index);}
3.分组
括号表示分组,分组中匹配到的内容会单独出现在数组中
var find1=/会员名(\S{2,4}),余额(\d{2,3})/;var strings1='会员名咕噜咕噜,余额150元';
{2,4}为了确定范围
var result1=find1.exec(strings1);console.log('匹配到的内容'+result1);console.log('第一个分组'+result1);console.log('第二个分组'+result1[1]);console.log('第三个分组'+result1[2]);
4.分组调用
分组调用/1,分组调用匹配到的内容需要跟被调用的方法匹配到的内容一致,否则不显示
例如:(\d{3})b\1==(\d{3})b(\d{3})
以下两种方法都表示查询b前后各三个的数字
var find1=/(\d{3})b\1/
var find1=/(\d{3})b(\d{3})/
5.非捕获型分组
var find2=/\w+?\.jpg/;
var strings2='hd.jpg,hrhr.png,worr.doc';
\w表示获取的文件名
+?表示最少有一个字符禁止贪婪
.表示失去.的方法成为符号.
6.前瞻
正向前瞻(?=表达式)表示后面一定要有该表达式
负向前瞻(?!=表达式)表示前面一定要有该表达式
var find3=/\w+?(?=\.jpg)/;
var strings3='hd.jpg,hrhr.png,worr.doc';
7.replace替换
正则或字符串,替换新内容
var find4=/\d/g;
/g表示全局
var string4='abcd15lf';
var result4=string4.replace(find4,'*');
replace找到数字的规则,将数字替换成*
console.log(result4);
var string5='1 2 3 4 5 ';
var result5=string5.replace(/ /g,'空格');
console.log(result5);
7.split分割
将正则规则匹配到的内容作为分割点进行分割 变成数组
数组中不包含匹配到的内容
var string6='a5f8b2v1';
var result6=string6.split(/\d/);
8.match提取
将符合标准的关键字提取出来,匹配出来的内容组成数组
var string7='a5d7v8f2';
var result7=string6.match(/\d/g);
更多推荐
前端js——正则模式修饰符、多行文本匹配、分组、前瞻、replace替换、split分割、match提取
发布评论