JS正则表达式


正则匹配与搜索

正则匹配:

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值