为什么我们要在 JavaScript 等语言中将 / 和 / 放在正则表达式的开头和结尾

why do we put / and / in starting and ending of regular expressions in languages such as javascript?

本文关键字:结尾 正则表达式 开头 我们 JavaScript 等语言 为什么      更新时间:2023-09-26

例如,JavaScript中2位数字的正则表达式将被/^'d'd$/。因此,此 reg ex 在开头和结尾包含//。所以我想知道他们的目的是什么?为什么我们不能简单地使用^'d'd$?他们在那里通知解释器字符串是 reg ex 吗?

这只是

new RegExp(pattern)的另一种说法。您可以通过在第二个/之后添加修饰符来向其添加修饰符:

var pattern = /pattern/modifiers;

var pattern = new RegExp(pattern, modifiers);

修饰符可以是以下任何一种:

  • i - 不区分大小写
  • m - 多行匹配
  • g - 查找所有匹配项

Javascript 允许您简单地将/^'d'd$/放入代码中并编译,因此我们不必包含引号(少 2 个字节)或对象构造函数(超过 13 个字节),而且使用 Javascript 预编译它可能更快与创建带有字符串的 RegExp 对象相比。

同样在第二个斜杠之后,您可以有更多选项,例如 gi .

这是对性能的测试。

http://jsperf.com/regexp-object-vs-regexp-inline

是的,它们实际上被用作字符串周围的标记。有些语言允许你在它们的位置上使用其他字符,比如Perl。这是为了更容易在正则表达式中使用"/"字符。

if (m#^/usr/spool/whatever/#) {
    do_something();
}