LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 334|回复: 0

javascript正则表达式

[复制链接]
发表于 2024-1-16 15:03:26 | 显示全部楼层 |阅读模式
正则表达式(可叫作 “regexp”,或 “reg”)由 模式 和可选的 修饰符 组成。

有两种创建正则表达式对象的语法。

较长一点的语法:

regexp = new RegExp("pattern", "flags");
较短一点的语法,使用斜线 "/":

regexp = /pattern/; // 没有修饰符
regexp = /pattern/gmi; // 带有修饰符 g、m 和 i(后面会讲到)
斜线 /.../ 告诉 JavaScript 我们正在创建一个正则表达式。它的作用与字符串的引号作用相同。

在这两种情况下,regexp 都会成为内建类 RegExp 的一个实例。

这两种语法之间的主要区别在于,使用斜线 /.../ 的模式不允许插入表达式(如带有 ${...} 的字符串模板)。它是完全静态的。

在我们写代码时就知道正则表达式时则会使用斜线的方式 —— 这是最常见的情况。而当我们需要从动态生成的字符串创建一个正则表达式时,更常使用 new RegExp。例如:

let tag = prompt("What tag do you want to find?", "h2");

let regexp = new RegExp(`<${tag}>`); // 如果在上方输入到 prompt 中的答案是 "h2",则与 /<h2>/ 相同

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表