JavaScript RegExp(正则)

一、RegExp类型

  • g:表达全局(global)模式,即模式将被用于所有字符串,而非在发现第一个匹配项时立即停止
  • i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写
  • m:表示多行(multiline)模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项

其用法如下:

单模式:


多模式:


注:元字符需要用到转义字符:( [ { \ ^ $ | ) ? * + . ] }


二、RegExp实例属性

  • global:布尔值,表示是否设置了g标志
  • ignoreCase:布尔值,表示是否设置了i标志
  • lastIndex:数值,表示开始搜索下一个匹配项的字符位置,从0算起
  • multiline:布尔值,表示是否设置了m标志
  • source:正则表达式的字符串表示,按照字符字面量形式而非传入构造函数中的字符串模式返回。(即返回需要匹配的模式串)


三、RegExp的实例方法(类似于分模块截取字符串)

1、RegExp对象的主要方法是exec(),是专门为了捕获组而设计的。exec()接受一个参数,即应用模式的字符串,然后返回第一个匹配项信息的数组,没有匹配项则返回null。

exec()方法返回的数组包含两个属性,index,input。index表示匹配项在字符串中的位置,而input表示应用正则表达式的字符串。

2、RegExp的第二个方法:test() ,接受一个参数,若模式与该参数匹配的情况下返回true,否则返回false。

3、valueOf() 方法返回正则表达式本身。


四、RegExp构造函数属性

长属性名

短属性名

说明

Input

$_

最近一次要匹配的字符串。Opera未实现此属性

lastMatch

$&

最近一次的匹配项,opera未实现此属性

lastParen

$+

最近一次匹配的捕获组。Opera未实现此属性

leftContext

$‵

Input字符串中lastMatch之前的文本

Multiline

$*

布尔值。表示是否所有表达式都实验多行模式。IE和Opera未实现此功能

rightContext

$’

Input字符串中lastMatch之后的文本



除了上面介绍的属性之外,还有9种用于存储捕获组的构造函数属性。访问这些属性的语法为RegExp.$1、RegExp.$2。。。。。。RegExp.$9,分别用于存储第一、第二。。。。。。第九个匹配的捕获组


(如有错误之处,欢迎指正)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值