JS正则表达式

it2024-12-06  43

文章目录

正则匹配与搜索修饰符正则替换与分割


正则匹配与搜索

正则匹配:

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的含义


最新回复(0)