Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我们要在javascript等语言中的正则表达式的开头和结尾中加上/和/呢?_Javascript_Regex - Fatal编程技术网

为什么我们要在javascript等语言中的正则表达式的开头和结尾中加上/和/呢?

为什么我们要在javascript等语言中的正则表达式的开头和结尾中加上/和/呢?,javascript,regex,Javascript,Regex,例如,javascript中2位数字的正则表达式是/^\d\d$/。 因此,该reg ex在开始和结束时包含/和/。 所以我想知道他们的目的是什么? 为什么我们不能简单地使用^\d\d$? 他们是来通知解释器字符串是regex的吗?这只是另一种说法newregexp(pattern)。您可以通过在第二个/之后添加修饰符来添加修饰符: var pattern = /pattern/modifiers; 或 修改器可以是以下任意一种: i-不区分大小写 m-多行匹配 g-查找所有匹配项 Java

例如,javascript中2位数字的正则表达式是
/^\d\d$/
。 因此,该reg ex在开始和结束时包含
/
/
。 所以我想知道他们的目的是什么? 为什么我们不能简单地使用
^\d\d$

他们是来通知解释器字符串是regex的吗?

这只是另一种说法
newregexp(pattern)
。您可以通过在第二个
/
之后添加修饰符来添加修饰符:

var pattern = /pattern/modifiers;

修改器可以是以下任意一种:

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

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

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

这里是性能测试


是的,它们被有效地用作字符串周围的标记。有些语言允许您使用其他字符,如Perl。这是为了更容易在正则表达式中使用“/”字符

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

g和i的目的是什么?我是reg ex领域的新手,请您详细说明一下。g=global,i=case-insensitive
g
表示您希望在每个地方找到模式,而不仅仅是第一个
i
表示您不关心大小写(大写vs小写)。请查看此网页。这就是我如何学习有关regexp(基础)的所有知识的方法。
if (m#^/usr/spool/whatever/#) {
    do_something();
}