重温js——正则表达式

简介: 正则表达式是一种规则,在语法上各个语言都是一样的,有点是通用性很高,缺点是在平常开发中使用的频率并不是很高,主要使用的范围在用于判断字符串里面的规则。

正则表达式是一种规则,在语法上各个语言都是一样的,有点是通用性很高,缺点是在平常开发中使用的频率并不是很高,主要使用的范围在用于判断字符串里面的规则。


语法


语法和定义变量一样,有两种:字面量模式 和 构造函数模式。


var reg1 = /规则/标志;
var reg2 = new  RegExp('规则','标志');


正则实例成员


  • global : 是否开启了全家匹配


15c2ed7081c4419b8327ec632af48383.png


  • ignoreCase: 是否忽略大小写,和上面是一样的都是只读
  • multiline: 是否是多行匹配(只读)
  • source: 当前匹配的规则资源。(只读)


5bd396300dd8471eabba45a0e7ff8a06.png


  • lastIndex: 匹配的最后位置,这个对于全局匹配是很有用的。不开启全家匹配是不会有影响的,这个参数不是只读的。


0b5c133e70b04b90960a35a4b0495df2.png


  • test方法: 测试某个字符串是否满足规则


8a355e1cab8c47639e6ed3d063588421.png


正则表达的匹配模式是贪婪模式,尽量匹配多一点。如果不想使用贪婪模式,在量词后面加上? ,就不会是贪婪模式


  • exec方法: 执行正则匹配,输出匹配的结果。


7c0e7e3f25014b11aecd1d18670d7a07.png


捕获组


在正则中用小括号包裹的部分,称之为捕获组。


0b2714ffbdfa475f897781fa67a2d132.png


捕获组还可以命名,命名的方式是在小括号里面的前面添加一个 ?<名字>,这种称为具名捕获组。


5f21a54bc6254a2dafb4be821b15c686.png


由于捕获组是会影响效率,有好多时候我们只是需要把括号里面当作一个整体。其实我们是不想要捕获的,使用的方式是 ?:


41128d3c172e41e68e057b519522cde1.png


反向引用


在正则表达式中,使用某个捕获组, \捕获组编号(捕获的编号可以是名字或者是数字)


cbb15a299a714f068fa4d56a17f0acab.png


正向断言(预查)


检查某个字符串后面的字符是否满足某个规则,该规则不成为捕获的结果。语法是 ?=


b4ce88aa481345ba9240bb3b52a2b7b4.png


负向断言(预查)


检查某个字符串后面的字符是否不满足某个规则,该规则不成为捕获的结果。语法是 ?!


e10f161b55fd456b8b39c3cfe166d713.png


详情查看 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions#%E4%BD%BF%E7%94%A8%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6

相关文章
|
1月前
|
移动开发 JavaScript 前端开发
JavaScript的正则表达式实现邮箱校验
JavaScript的正则表达式实现邮箱校验
52 1
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
1月前
|
JavaScript 前端开发
javascript中的正则表达式
javascript中的正则表达式
|
2月前
|
JavaScript 前端开发
JavaScript中的正则表达式构造函数和正则表达式字面量
JavaScript中的正则表达式构造函数和正则表达式字面量
|
3月前
|
JavaScript 前端开发 API
【JavaScript】<正则表达式Regular Expression>JavaScript正则表达式解析
【1月更文挑战第17天】【JavaScript】<正则表达式Regular Expression>JavaScript正则表达式解析
|
4月前
|
前端开发 JavaScript
前端JavaScript入门-day08-正则表达式
前端JavaScript入门-day08-正则表达式
35 0
|
4月前
|
机器学习/深度学习 存储 JavaScript
正则表达式基础语法与Java、JS使用实例
正则表达式基础语法与Java、JS使用实例
72 1
|
1月前
|
监控 JavaScript 前端开发
JavaScript 正则表达式详解
【2月更文挑战第26天】
34 1
JavaScript 正则表达式详解
|
3月前
|
JavaScript
js如何去实现用正则表达式来判断一个值
js如何去实现用正则表达式来判断一个值
13 0
|
3月前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript 正则表达式
JavaScript 正则表达式
96 0