js正则表达式基本总结

1.正则表达式的两种写法

     var reg = /test/i;
     var reg1 = new RegExp('test','i');

    其中i为正则表达式修饰符
     i : 执行对大小写不敏感的匹配。(匹配时忽略大小写)
     g : 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
     m : 执行多行匹配。

2.支持正则表达式的 String 对象的方法

search:检索与正则表达式相匹配的值。
var reg = /[test]/g;
var str = 'acvftst';
console.log(str.search(reg));//4
match:找到一个或多个正则表达式的匹配。
var reg = /[test]/g;
var str = 'acvftst';
console.log(str.match(reg));

在这里插入图片描述

replace:替换与正则表达式匹配的子串。
var reg = /[test]/g;
var str = 'acvftst';
console.log(str.replace(reg,'a'));

在这里插入图片描述

//字符串去重
var str = 'aaaaaaaaabbbbbbbcccc';
var reg = /(\w)\1*/g;
str.replace(reg,'$1');//abc
//($1、$2、...、$99:与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。)
split:把字符串分割为字符串数组。
var reg = /[test]/g;
var str = 'ascsvtftst';
console.log(str.split(reg));

在这里插入图片描述

3.方括号

[test]:查找括号中的任意字符
var reg = /[test]/g;
var str = 'acvftst';
console.log(str.match(reg));

在这里插入图片描述

[^test]:查找不在括号中的字符
var reg = /[^test]/g;
var str = 'acvftst';
console.log(str.match(reg));

在这里插入图片描述

[0-9]:查找任何从 0 至 9 的数字。
[a-z]:查找任何从小写 a 到小写 z 的字符。
[A-Z]:查找任何从大写 A 到大写 Z 的字符。
[A-z]:查找任何从大写 A 到小写 z 的字符。
var reg = /[0-9][a-z]/g;
var str = '134acvf24tst';
console.log(str.match(reg));

在这里插入图片描述

(red|blue|green):查找任何指定的选项。
var reg = /[0-9]|[a-z]/g;
var str = '134acvf24tst';
console.log(str.match(reg));

在这里插入图片描述

4.元字符

. : 查找单个字符,除了换行和行结束符。
var reg = /a.v/g;
var str = '134acvf24tst';
console.log(str.match(reg));

在这里插入图片描述

\w : 查找单词字符。
\W : 查找非单词字符。
var reg = /\w/g;
var str = '1ac4tt=!';
console.log(str.match(reg));

在这里插入图片描述

\d : 查找数字。
\D : 查找非数字字符。
\s : 查找空白字符。
\S : 查找非空白字符。
var reg = /\s/g;
var str = '1ac 4tt=!';
console.log(str.match(reg));

在这里插入图片描述

\b : 匹配单词边界。
\B : 匹配非单词边界。
var reg = /\b4t/g;
var str = '1ac 4tt=!';
console.log(str.match(reg));

在这里插入图片描述

\0 : 查找 NUL 字符。
\n : 查找换行符。
\f : 查找换页符。
\r : 查找回车符。
\t : 查找制表符。
\v : 查找垂直制表符。

5.量词

n+ : 匹配任何包含至少一个 n 的字符串。
var reg = /\d+/g;
var str = '123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

n* : 匹配任何包含零个或多个 n 的字符串。
var reg = /\d*/g;
var str = '123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

n? : 匹配任何包含零个或一个 n 的字符串。
var reg = /\d?/g;
var str = '123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

n{X} : 匹配包含 X 个 n 的序列的字符串。
var reg = /\d{2}/g;
var str = '123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

n{X,Y} : 匹配包含 X 至 Y 个 n 的序列的字符串。
var reg = /\d{2,3}/g;//(如果能匹配3个在一起的数字就先匹配3个在一起的数字)
var str = '123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

n{X,} : 匹配包含至少 X 个 n 的序列的字符串。
var reg = /\d{2,}/g;//(连在一起的数字能多就多)
var str = '1234ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

n$ : 匹配任何结尾为 n 的字符串。
^n : 匹配任何开头为 n 的字符串。
var reg = /^\d{3}/g;
var str = '123 123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

?=n : 匹配任何其后紧接指定字符串 n 的字符串。
var reg = /\d(?=\d{3})/g;//(对其后紧跟三个数字的数字进行匹配)
var str = '123123ac42t1t=!';
console.log(str.match(reg));

在这里插入图片描述

?!n : 匹配任何其后没有紧接指定字符串 n 的字符串。

6.RegExp 对象方法

exec : 检索字符串中指定的值。返回找到的值,并确定其位置。
var reg = /ac/g;
var str = '123123ac42t1t=!';
console.log(reg.exec(str));
console.log(reg.lastIndex);

在这里插入图片描述

test : 检索字符串中指定的值。返回 true 或 false。
var reg = /ac/g;
var str = '123123ac42t1t=!';
console.log(reg.test(str));//true
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boboj1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值