重温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

相关文章
|
2月前
|
JavaScript 前端开发
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
|
13天前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript中的正则表达式详细展示
JavaScript中的正则表达式详细展示
18 6
|
16天前
|
JavaScript 前端开发 测试技术
JavaScript进阶-正则表达式基础
【6月更文挑战第21天】正则表达式是处理字符串的利器,JavaScript中广泛用于搜索、替换和验证。本文讲解正则基础,如字符匹配、量词和边界匹配,同时也讨论了常见问题和易错点,如大小写忽略、贪婪匹配,提供代码示例和调试建议。通过学习,开发者能更好地理解和运用正则表达式解决文本操作问题。
|
2天前
|
JavaScript 数据安全/隐私保护
js 常用正则表达式【实用】
js 常用正则表达式【实用】
5 0
|
4天前
|
存储 JavaScript 前端开发
|
7天前
|
XML JavaScript 数据安全/隐私保护
一篇文章讲明白js常用js正则表达式大全
一篇文章讲明白js常用js正则表达式大全
|
2月前
|
前端开发 JavaScript
前端 js 经典:正则表达式
前端 js 经典:正则表达式
32 2
|
2月前
|
XML JavaScript 前端开发
【JavaScript | RegExp】正则表达式
【JavaScript | RegExp】正则表达式
24 4
|
2月前
|
JavaScript 前端开发 测试技术
学会JavaScript正则表达式(二)
学会JavaScript正则表达式(二)
|
2月前
|
机器学习/深度学习 JavaScript 前端开发
学会JavaScript正则表达式(一)
学会JavaScript正则表达式(一)