例如,javascript中2位数字的正则表达式为/^\d\d$/
。
因此,此注册表在开始和结束时包含/
和/
。
所以我想知道他们的目的是什么?
为什么我们不能简单地使用^\d\d$
?
他们是否在那里通知解释器字符串是reg ex?
答案 0 :(得分:2)
这只是说new RegExp(pattern)
的另一种方式。您可以通过在第二个/
之后添加修饰符来添加修饰符:
var pattern = /pattern/modifiers;
或者
var pattern = new RegExp(pattern, modifiers);
修饰符可以是以下任何一种:
i
- 不区分大小写m
- 多行匹配g
- 找到所有比赛答案 1 :(得分:1)
Javascript允许您简单地将/^\d\d$/
放在代码中并进行编译,因此我们不必包含引号(少2个字节)或对象构造函数(超过13个字节),另外它可能更快使用Javascript预编译与使用字符串创建RegExp
对象。
在第二次斜杠之后,你可以有更多选项,例如g
和i
。
这是对性能的测试。
答案 2 :(得分:0)
是的,它们实际上被用作字符串周围的标记。某些语言允许您在其位置使用其他字符,例如Perl。这样可以更容易在正则表达式中包含“/”字符。
if (m#^/usr/spool/whatever/#) {
do_something();
}