js正则表达式总结2-常用方法

定义:

const reg = new RegExp('^([a-zA-Z0-9_-])+$','igm');
const reg2 = /^([a-zA-Z0-9_-])+$/igm;

修饰符

修饰符描述
i忽略大小写
g全局匹配
m执行多行匹配

查看正则有哪些方法

console.log(reg.__proto__) ;

reg自带方法

(1)reg.test(str)

判断字符串是否匹配正则表达式

reg.test('a'); // true
reg.test('!a'); // false
(2)reg.compile(reg)

compile主要用于修改正则表达式

const reg=/man/;
reg.compile("woman");
console.log(reg); // /woman/
(3)reg.exec(str)

对字符串匹配后返回一个数组 ,不匹配返回null

const reg =/people/;
const result= reg.exec("ipeople")
console.log(result); // [ 'people', index: 1, input: 'ipeople' ]

result[0]为匹配结果
result.index为第一个匹配的下标
result.input 为匹配的字符串

(4)reg.toString()

获得正则的字符串

const reg =/people/g;
console.log(reg.toString()); ///people/g

在string中使用的方法

(1) String.search(reg)

查询字符串中第一个匹配的下标,不匹配则返回-1

const reg =/a/g;
const str = "abcdefg acd";

console.log(str.search(reg)); // 0
(2) String.replace(reg)

替换匹配正则的内容

const reg =/abcd/g;
const str = "abcdefg";

console.log(str.replace(reg,'0')); // 0efg
(4) String.split(reg)

用于分割字符串

const reg =/[\,\.\/\-\:]/g;
const str = "a,b.c/d-e:f";

console.log(str.split(reg)); // [ 'a', 'b', 'c', 'd', 'e', 'f' ]
(4) String.match(reg)

一般用于全局匹配,返回一个数组,内容为匹配的结果

const reg =/a[a-z]+d/g;
const str = "abcdefg acd";
console.log(str.match(reg)); //[ 'abcd', 'acd' ]
(5) String.matchAll(reg)

matchAll 可以一次性取出所有匹配。不过,它返回的是一个遍历器(Iterator),而不是数组

 const reg =/a[a-z]+d/g;
 const str = "abcdefg acd";
 let array = [...str.matchAll(reg)];

console.log(array[0]); // Array ["abcd"]
console.log(array[1]); // Array ["acd"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值