正则表达式
2021-05-27 本文已影响0人
BJ呀呀呀
正则:匹配有规律的字符串
1.创建方式
var reg=/ /igm ;//正则字面量表达式
//ignore 忽略大小写
//global全局
//m换行
var reg=new RegExp(规则,修饰符); //对象创建字符
2.正则的方法:
var str = "This is a Box box BoX";
var zz=/box/igm;
1.console.log(zz.test(str));//条件满足返回 true,否则返回 false。
2.console.log(zz.exec(str));//条件满足反回数组 不满足反回null
换个不
支持正则字符串方法:
1.console.log(str.match());//找到返回数组,找不到返回null
2.replace();//字符串替换
eg:
var str1="我爱淦饭";
var str2=str1.replace(/淦饭/,"祖国")
console.log(str1); //我爱淦饭
console.log(str2);//我爱祖国
(字符串具有恒定性 不能被修改 用一个来接受)
3.console.log(str.search(zz));//找到返回下标,找不到返回-1
4.console.log(str.split(/ /)); //返回数组
. 一个点,表示匹配一个任意的字符
*号, 可以是任意次数;
.* 任意字符出现任意次数
[]表示字符可以出现的次数, 一个[],一个占位; eg:[a-z] 只能有一个a-z之间的一个
[ab] 可以是a 或者可以是b;
^ 在[]里是取反;
+ 表示至少一次;
? 表示一次或者0次;
\w(小写) 使用元素符号匹配 等价于[a-zA-Z0-9_];
\W(大写) 使用元素符号匹配 等价于[^a-zA-Z0-9_];
\d 代表数字 等价于[0-9];
\D 等价于[^0-9];
次数
{n}固定次数; 可以多于你,不能少于n;
{n,m}最少n次,最多m次;
{n,}最少n
^ 开始
$ 结束
\s 等价于空格 占一个位置
\S 非空格 占一个位置
| 代表或者的意思,匹配其中一种字符串;
() 加上小括号,将内容分组,可作为一个整体进行多次