正则表达式基础知识

目录

一:新建

二:方法

三:匹配规则

四:匹配方法


一:新建

RegExp构造函数var re = new RegExp("a");
使用字面量(常量)var re = /a/;

二:方法

test()返回一个布尔值,方法用于匹配一个字符串,匹配成功返回true 否则返回fasle
exec()返回匹配结果 发现匹配 就返回一个以每个匹配成功的字符串组成的类数组集合 否则返回null
方法属性index 表示匹配在字符串中的位置
input 表示原字符串
正则.方法()

三:匹配规则

3.1字面量字符

 在正则表达式中,某个字符值表示他字面的含义。比如/a/匹配a

3.2元字符

除了字面量字符之外,还有一部分字符有特殊含义,不代表字面意思,叫“元字符”。如果要匹配他们本身,需要在他们前面加上反斜杠进行转移,比如匹配加号 就要写成+。

正则中需要斜杠转移的字符:^  .  [  ]  $  (  )  |  *  + ?  {  }  \\

点字符.匹配除回车\r、换行\n、行分隔符\u2028、段分隔符\u2029以外的所有字符
位置字符^ 表示字符串的开始位置
$ 表示字符串的结束位置
竖线符号|在正则中表示“或关系”即表示a|b表示a或b

如果使用RegExp方法生成正则对象,转移需要使用两个斜杠,因为字符串内部会先转移一次

3.3重复类

模式的匹配次数,用大括号{}表示,{n}表示恰好重复n次,{n,}表示至少重复n次,{n,m}表示重复不少于n次,不多于m次。

3.4量词符

?问号表示某个模式出现0次或者1次,等于{0,1}最多一次
*星号表示某个模式出现0次或多次,等同于{0,}无影响
+加号表示某个模式出现1次或多次,等同与{1,}至少一次

3.5字符类

表示有一系列字符可供选择,只要匹配其中一个就可以,所有可供选择的字符都放在放括号内。如:【abc】表示abc之中任选一个匹配

脱字符^如果方括号里第一个字符【^】,则表示除了字符类中的字符,其他字符都可以匹配
连字符-对于连续序列的字符连字符用来提供简写的形式,表示字符的连续范围,如【abc】可写成【a-c】、【0123456789】可简写成【0-9】
中文【\u4e00-\u9fa5】

3.6修饰符(模式修正符)

修饰符表示模式的附加规则,放在正则模式中的最尾部,修饰符可以单独使用,也可以多个一起使用

g默认情况下,第一次匹配成功后,正则对象就停下向下匹配,g修饰符表示全局匹配
i 默认情况下,正则对象区分字母的大小写,加上i修饰符以后表示忽略大小写

m表示多行模式,会修改^和$的行为,默认情况下^和$匹配的字符串的开始处和结尾处,加上m修饰符后,^和$会识别换行符\n

3.7某些常见的模式的简写方式

\d匹配0-9任意数字
\D匹配除了0-9以外的字符

\w匹配任意的字母、数字和下划线

\W匹配除任意的字母、数字和下划线
\s匹配空格,包括制表符、空格符、断行符
\S匹配非空格的字符
\b匹配单词的后边界
\B匹配非单词的后边界

3.8特殊字符

\b匹配退格键
\n匹配换行键
\r匹配回车键
\f匹配换页符
\t查找制表符tab

3.9组匹配

正则表达式的括号表示分组匹配,括号中的模式可以用来匹配分组的内容

四:匹配方法

match()接受一个参数,正则去匹配字符串,如果匹配不成功,就返回成功的数组,如果匹配不成功,就返回null
search()参数与match一样,返回字符串中第一个匹配项的索引,没有匹配项返回-1
replace()用于替换 接受两个参数 第一个是匹配项 第二个可以是字符串或是一个函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值