正斜杠在JavaScript正则表达式中意味着什么?

Leo*_*eoa 29 javascript regex

我找不到有关/JavaScript正则表达式中的含义的任何确切信息.

代码 replace(/\r/g, '');

我能弄清楚的是:

  • / 我不知道
  • \r =回车
  • /g =我不知道,但这可能意味着"比赛必须在前一场比赛结束时发生."

Joh*_*ner 35

斜杠表示正则表达式的开头和结尾.

g在年底是一个标记,表示它是一个全球性的搜索.

来自文档:

正则表达式有四个可选标志,允许全局和不区分大小写的搜索.要指示全局搜索,请使用g标志.要指示不区分大小写的搜索,请使用i标志.要指示多行搜索,请使用m标志.要执行"粘性"搜索,从目标字符串中的当前位置开始匹配,请使用y标志.这些标志可以单独使用,也可以以任何顺序一起使用,并作为正则表达式的一部分包含在内.

要在正则表达式中包含标志,请使用以下语法:

 var re = /pattern/flags;
Run Code Online (Sandbox Code Playgroud)


Ale*_*x W 9

要添加更多细节,/字符是JavaScript/ECMAScript中正则表达式文字语法的一部分./词法分析期间使用这些字符来确定它们之间是否存在正则表达式模式,紧随其后的任何内容都将是正则表达式标志.在ECMAScript标准已经定义了这个EBNF,为您perusual:

RegularExpressionLiteral ::/RegularExpressionBody/RegularExpressionFlags

一个很好的比喻为/正则表达式是"'在JavaScript的是环绕字符串文字.


Der*_*son 8

正如其他人所指出的,你应该阅读文档!那说:

将正斜杠视为正则表达式的引号.斜杠包含表达式,但它们本身不是表达式的一部分.(如果要测试正斜杠,则必须使用反斜杠转义它.)小写g指定这是全局搜索,即查找所有匹配而不是在第一个匹配时停止.


met*_*ept 6

正如指出这里,正斜杠是不是表达本身的一部分,但表示表达式的开头和结尾.