javascript中的'/'如何工作?

时间:2013-02-01 16:27:54

标签: javascript regex

这怎么可能?

var re = /\w+/;

我从来没有见过任何其他语言的东西。这是语言sintax的一部分还是其他什么?领先的'/'是我不明白的,当它用“\ w + /”得到时,js究竟做了什么?

7 个答案:

答案 0 :(得分:3)

这是一个正则表达式字面值。

From the MDN docs

  

您可以通过以下两种方式之一构建正则表达式:

     

使用正则表达式文字,如下所示:

var re = /ab+c/; 
     

正则表达式文字提供了编译   评估脚本时的正则表达式。当经常   表达式将保持不变,使用它来获得更好的性能。

     

调用RegExp对象的构造函数,如下所示:1

var re = new RegExp("ab+c");
     

使用构造函数提供正则表达式的运行时编译。当您知道正则表达式模式将要更改时,或者您不知道该模式并从其他源(例如用户输入)获取该模式时,请使用构造函数。

答案 1 :(得分:1)

这是regular expression literal

与使用RegExp构造函数构建正则表达式大致相同,但在解析时会立即编译,您无需转义\

请注意,您至少使用另一种语言具有相同的语法结构:Perl。

答案 2 :(得分:0)

它不是JavaScript独占的,它的Regular Expressions或RegEx。 '/'开始和结束你要比较的东西的表达式。

答案 3 :(得分:0)

那是regular expression。它定义了匹配字符串和数字的规则。

答案 4 :(得分:0)

这是常规表达;用于在文本上执行模式匹配和“搜索和替换”功能。

http://www.w3schools.com/jsref/jsref_obj_regexp.asp

答案 5 :(得分:0)

是的,它是RegExp语法,是Javascript标准的一部分,使用完全正常。

RegExp中的

/\w+/表示按顺序查找字母数字字符... \w表示字母下注中的任何字母或数字。 +表示序列中至少应包含1个或更多。

"this123 is a test".match(/\w+/) == "this123"

答案 6 :(得分:0)

一些诗歌: /是regexps,因为"是字符串。

var intVar = 0;
var stringVar = "0";
var regexpVar = /0/;