前端js——正则模式修饰符、多行文本匹配、分组、前瞻、replace替换、split分割、match提取

1.模式修饰符

i表示不区分大小写

var find=/h/i;

2.在多行文本中进行关键字匹配

HTML


		

JS

 btn.function(){
            //得到多行文本内容
            var yan=text.value;
            var find=/黄|赌|毒/m;
            //m是将内容视为多行
            var result=find.exec(yan);
            console.log('匹配到的内容'+result[0]);
		    console.log('在几号位置匹配到'+result.index);
		}

前端js——正则模式修饰符、多行文本匹配、分组、前瞻、replace替换、split分割、match提取_第1张图片
在这里插入图片描述

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);

在这里插入图片描述

你可能感兴趣的:(前端)