正则匹配:
var str = "asdasd123123rr66"; console.log(str.match(/[0-9]+/)); //1 var pat = new RegExp("[0-9]+"); console.log(str.match(pat)); //2 console.log(pat.exec(str)); //3 console.log(str.match(/[0-9]+/g)); //4上述1,2,3条语句在控制台输出的结果都是一样的, 结果为["123123", index: 6, input: "asdasd123123rr66", groups: undefined] 第4条语句的输出为["123123", "66"],g修饰符代表匹配多次
正则搜索:
var str = "asdasd123123rr66"; console.log(str.search(/[0-9]+/)); //1 var pat = new RegExp("[0-9]+"); console.log(str.search(pat)); //2 console.log(pat.test(str)); //3上述1,2条语句在控制台输出的结果都是一样的,结果为6,表示首次匹配的index 第3条语句的输出为true,表示匹配到了
https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp
正则分割:
var str = "23#43'5.345%5*34"; console.log(str.split(/[^0-9]/));输出结果为["23", "43", "5", "345", "5", "34"],字符串分割的方式为任意非数字
正则替换:
var str = "23#43'5.345%5*34"; console.log(str.replace(/[^0-9]/g,","));输出结果为23,43,5,345,5,34
正则替换里的特殊用法
str = "04/28/2020"; console.log(str.replace(/(\d{2}\/)(\d{2}\/)(\d{4}\/)/,$3-$1-$2));以上两行代码的含义是把西方的日期格式转化成年月日形式,输出结果为2020-04-28 $1代表前面正则式里的第一个小括号的内容,同理可推$2与$3的含义