JavaScript 正则表达式 属性

🌙
手机阅读
本文目录结构

如何学习正则

可以在浏览器的控制台,通过命令查看

let reg=/\d+/;
console.dir(reg);//顺着原型链查找有哪些方法
console.dir(RegExp.prototype);//正则类的原型
console.dir(RegExp);

实例属性

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

通过这些属性可以获知一个正则表达式的各方面信息,但却没有多大用处,因为这些信息全都包含在模式声明中

var pattern1 = /\[bc\]at/i;
console.log(pattern1.global); //false
console.log(pattern1.ignoreCase); //true
console.log(pattern1.multiline); //false
console.log(pattern1.lastIndex); //0
console.log(pattern1.source); //"\[bc\]at"

var pattern2 = new RegExp("\\[bc\\]at", "i");
console.log(pattern2.global); //false
console.log(pattern2.ignoreCase); //true
console.log(pattern2.multiline); //false
console.log(pattern2.lastIndex); //0
console.log(pattern2.source); //"\[bc\]at"

尽管第一个模式使用的是字面量,第二个模式使用了 RegExp 构造函数,但它们的 source 属性是相同的。

可见 source 属性保存的是规范形式的字符串,即字面量形式所用的字符串。

构造函数属性

属性 描述 描述
$_ input 返回最近一次匹配的字符串
$& lastMatch 返回最近一次的匹配项
$+ lastParen 返回最近一次匹配的捕获组
$` leftContext 返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符
$' rightContext 返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符
$* multiline 检测表达式是否采用多行匹配 m

扩展思考

看看其他的一些属性,了解都是做什么的。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了