【JavaScript】正则表达式相关的API

JavaScript里正则常用API

一、5个常用方法:

1. test

reg.test(str); // 返回是否包含正则 true/false

var str = "abcdefghijkl3mnop2qts";
/\d/.test(str); // true

2. match

str.match(reg); // 一般正则表达式加g,会返回包含所有匹配项的数组

var str = "abcdefghijkl3mnop2qts";
str.match(/\d/g); // ["3", "2"]

3. search

str.search(reg); // 返回第一条匹配的索引位置

var str = "abcdefghijkl3mnop2qts";
str.search(/\d/); // 12

4. replace

str.replace(str/reg, replacement); // 不改变原字符串,返回新字符串

5. exec

在循环中反复地调用 exec() 方法是唯一一种获得全局模式的完整模式匹配信息的方法。

var reg = /\d/g;
var str = "abcdefghijkl3mnop2qts";

reg.exec(str); // ["3", index: 12, input: "abcdefghijkl3mnop2qts", groups: undefined]
// 可以使用 reg.lastIndex 判断目前的执行进度
reg.lastIndex; // 13
reg.exec(str); // ["2", index: 17, input: "abcdefghijkl3mnop2qts", groups: undefined]
reg.exec(str); // null
// 之后循环往复

二、3个进阶概念

1. 捕获组

// capture group
var reg = /(\d+)/g;
var str = "abcd3fgh55jy";
str.replace(reg, "($1)"); // 会为数字加上括号

2. 反向引用

// \1是对捕获组的引用
var reg = /(\d+)\1/g;
var str = "abcd3fgh55jy";
str.match(reg); // 这次只匹配到了55

3. 前瞻

// (?=)正向前瞻
// (?!)负向前瞻
var reg = /(\d+)(?=\1)/g;
var str = "abcd3fgh55jy";
str.match(reg); // 这次只匹配到了55,但只捕获5
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值