JS中正则表达式的使用
程序员文章站
2022-03-11 18:59:28
正则表达式1、字面量的方式2、构造函数3、test()1、字面量的方式var reg = /abc/;2、构造函数var reg = new RegExp("abc");3、test()检测方法找到匹配返回true,否则falsevar reg = new RegExp("abc");var str = "ab";var flag = reg.test(str);console.log(flag); //false//修饰符g全局匹配i忽略大小写var reg = /a...
1、字面量的方式
var reg = /abc/;
2、构造函数
var reg = new RegExp("abc");
3、test()
检测方法 找到匹配返回true,否则false
var reg = new RegExp("abc");
var str = "ab";
var flag = reg.test(str);
console.log(flag); //false
//修饰符 g全局匹配 i忽略大小写
var reg = /abc/gi;
var str = "AbcABCabc";
//match方法 字符串方法
console.log(str.match(reg)); //["Abc", "ABC", "abc"]
//seach方法 用于查找符合规则的子串的位置,只返回一个匹配的位置
var reg = /abc/;
var str = "12345abc";
console.log(str.search(reg)); //5
//split
var reg = /good/;
var str = "good good study";
console.log(str.split(reg)); // ["", " ", " study"]
//replace()
var reg = /tmd/gi;
var str = "abc tmd abc TMD";
console.log(str.replace(reg, "*")); //abc * abc *
//exec方法 正则表达式的方法,将匹配成功的内容放到数组里面,如果没有匹配成功,返回null
var reg = /good/;
var str = "good good study";
console.log(reg.exec(str)); //["good", index: 0, input: "good good study", groups: undefined]
console.log(reg.exec(str));
console.log(reg.exec(str));
//. 除了换行符之外所有的单个字符
var reg = /g..gle/gi;
var str = "goodleg--gle";
console.log(reg.test(str)); //true
console.log(str.match(reg)); //["g--gle"]
//*重复多次匹配,匹配任意次(0-n)
var reg = /g*gle/gi;
var str = "gggggle";
console.log(reg.test(str), str.match(reg)); //true ["gggggle"]
//+ 至少有一次重复匹配
var reg = /g+gle/gi;
var str = "ggle";
console.log(reg.test(str));//true
//? 进行0或者1次匹配
var reg = /g?le/gi;
var str = "gggggle";
console.log(reg.test(str), str.match(reg));//true ["gle"]
//[] 表示出现的范围 [0-9]
var reg = /[a-z]/gi;
var str = "123m4";
console.log(reg.test(str));//true
//\w 数字字母下划线,等同于[0-9a-zA-Z] \W 非数字字母下划线
var reg = /\w+/gi;
var str = "abc13";
console.log(reg.test(str), str.match(reg));//true ["abc13"]
//\d 表示数字[0-9] \D 非数字
var reg = /\d+/gi;
var str = "123abc";
console.log(reg.test(str), str.match(reg));//true ["123"]
//\s 匹配空格
var reg = /\s+/gi;
var str = "good good study";
console.log(str.replace(reg, " "));//good good study
//{m,n} 至少匹配m次,至多匹配n次{m,}{,n}
var reg = /go{3}gle/gi;
var str = "gooogleg";
console.log(reg.test(str));//true
// /^匹配开始 $/匹配结束
var reg = /^g.+g$/gi;
var str = "gooogleg";
console.log(reg.test(str));//true
// | 或
var reg = /google|baidu|bing|yahao/gi;
var str = "www.baidu.com";
console.log(reg.test(str), str.match(reg));//true ["baidu"]
//() 分组,将内容作为一个整体进行匹配
var reg = /(g.gle){4,6}/gi;
var str = "googleaaagooglegooglegooglegoogle";
console.log(reg.test(str), str.match(reg));//false null
console.log(RegExp.$1);//
// $1 $2
var reg = /(.*)\s(.*)/;
var str = "taobao baidu";
console.log(str.replace(reg, "$2 $1"));//baidu taobao
本文地址:https://blog.csdn.net/weixin_45191282/article/details/107898701