例如,javascript 中 2 位数字的正则表达式将是/^\d\d$/
. 所以这个 reg ex 包含/
and/
在开始和结束时。所以我想知道他们的目的是什么?为什么我们不能简单地使用^\d\d$
?他们是否在那里通知解释器字符串是 reg ex ?
问问题
41 次
3 回答
2
这只是另一种说法new RegExp(pattern)
。您可以通过在第二个之后添加修饰符来为其添加修饰符/
:
var pattern = /pattern/modifiers;
或者
var pattern = new RegExp(pattern, modifiers);
修饰符可以是以下任何一种:
i
- 不区分大小写m
- 匹配多行g
- 查找所有匹配项
于 2013-09-26T18:04:16.650 回答
1
Javascript 允许您简单地/^\d\d$/
输入代码并进行编译,因此我们不必包含引号(少 2 个字节)或对象构造函数(超过 13 个字节),而且使用 Javascript 预编译与创建RegExp
对象相比,它可能会更快用字符串。
同样在第二个斜线之后,您可以有更多选项,例如g
和i
。
这里是性能测试。
于 2013-09-26T18:05:23.640 回答
0
是的,它们被有效地用作字符串周围的标记。某些语言允许您使用其他字符代替它们,例如 Perl。这是为了让正则表达式中的“/”字符更容易。
if (m#^/usr/spool/whatever/#) {
do_something();
}
于 2013-09-26T18:08:30.927 回答