一.词边界、正向预查、反向预查
1.词边界
\b词边界(单词的边界)
\B非词边界
//匹配出第二个hello var str = ‘hellobaby hello‘; var reg = /\bhello\b/; console.log(str.match(reg)); //匹配出第一个 hello var reg = /\bhello\B/; console.log(str.match(reg));
2.正向预查(?=后面是。。。。)
var str = ‘hellobaby helloworld‘; //要求匹配出第二个hello var reg = /hello(?=world)/; console.log(str.match(reg));
3.反向预查(?!后面不是。。。)
var reg = /hello(?!world)/; console.log(str.match(reg));
二.字符串边界---用于精确匹配
1.^以指定字符开头
2.$以指定字符结尾
var reg = /^[a-zA-Z]\w{5,11}$/;
三.正则表达式修饰符
1.g 执行全匹配
2.i执行对大小写不敏感
3.m执行多行匹配
var str = ‘Helloworld helloworld‘; var reg = /hello/gi; console.log(str.match(reg)); var str = ‘Lorem nihao \rLorem hello‘;
四.用于模式匹配的String方法
1.match() 正则匹配 返回匹配的内容 数组
2.search() 查找 返回首次出现的索引 如果不存在返回-1
var str = ‘hello niheao‘;var reg = /e/g; console.log(str.search(reg));
3.split() 使用正则截取字符串 返回数组
var str = ‘border-left-color‘; var reg = /-/; var arr = str.split(reg); console.log(arr);
4.replace() 正则替换
var str = ‘hello world, hello baby, hello shabi‘; //将字符串中的hello替换成 hi //1. 老字符串 或者 正则 //2. 新内容 var newStr = str.replace(‘hello‘,‘hi‘); //只替换一个 console.log(newStr); var newStr = str.replace(/hello/g,‘hi‘); //使用正则替换 console.log(newStr);
五.正则对象的方法
1.test() 检测是否匹配
var str = ‘abcdef abc hello‘; var reg = /Q/; console.log(reg.test(str)); var reg = /o/; console.log(reg.test(str));
2.exec() 正则匹配 返回匹配的内容 不支持g
var str = ‘hello world, hello baby, hello shabi‘;
var reg = /hello/;
console.log(reg.exec(str));
时间: 2024-11-14 12:47:46