为什么我们要在 JavaScript 等语言中将 / 和 / 放在正则表达式的开头和结尾
why do we put / and / in starting and ending of regular expressions in languages such as javascript?
例如,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
对象相比。
同样在第二个斜杠之后,您可以有更多选项,例如 g
和 i
.
这是对性能的测试。
http://jsperf.com/regexp-object-vs-regexp-inline
是的,它们实际上被用作字符串周围的标记。有些语言允许你在它们的位置上使用其他字符,比如Perl。这是为了更容易在正则表达式中使用"/"字符。
if (m#^/usr/spool/whatever/#) {
do_something();
}
相关文章:
- 用于删除字符串中字符开头到结尾的正则表达式
- 正则表达式能否匹配字符串开头或结尾的字符(但不能同时匹配)
- javascript正则表达式浮点数,以字符串结尾
- 使用正则表达式删除段落开头和结尾的换行符
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 如何删除正则表达式开头和结尾的空格
- jquery 正则表达式修剪 URL 字符串的开头和结尾
- 为什么我们要在 JavaScript 等语言中将 / 和 / 放在正则表达式的开头和结尾
- 逗号前或结尾逗号的正则表达式
- 不是以正则表达式结尾的特定单词
- Javascript正则表达式以模式结尾
- 如何用正则表达式替换字符串的所有部分,正则表达式以开头,以或空格或{结尾
- 正则表达式:匹配以任意数字结尾的字符串
- 以'结尾的字符串的正则表达式/'
- 允许使用正则表达式和javascript进行复数结尾
- 正则表达式以反斜杠结尾
- 正则表达式与字符串的开头和结尾完全匹配,中间有通配符
- 如何包含url的所有结尾,除了使用Javascript正则表达式的特定结尾
- 如何生成不包含任何空格的正则表达式,甚至在字符串的开头或结尾也不包含空格
- 正则表达式长度为X个字符,由字母数字组成,但不包括_和句号,但不包括开头和结尾