Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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,这怎么可能 var re = /\w+/; 我从未在其他语言中见过这样的事情。这是sintax语言的一部分还是其他什么?我不明白的是,当js使用“\w+/”时,它到底做了什么?它不是JavaScript独占的、它的或正则表达式。“/”开始和结束您正在比较的表达式。它不是JavaScript独占、its或正则表达式。“/”开始并结束您正在比较的表达式。这是一个。它定义了一个匹配字符串和数字的规则。这是一个。它定义了匹配字符串和数字的规则。这是一个 这与使用构造函数构建正则表达式大致相同,但解析后

这怎么可能

var re = /\w+/;

我从未在其他语言中见过这样的事情。这是sintax语言的一部分还是其他什么?我不明白的是,当js使用“\w+/”时,它到底做了什么?

它不是JavaScript独占的、它的或正则表达式。“/”开始和结束您正在比较的表达式。

它不是JavaScript独占、its或正则表达式。“/”开始并结束您正在比较的表达式。

这是一个。它定义了一个匹配字符串和数字的规则。

这是一个。它定义了匹配字符串和数字的规则。

这是一个

这与使用构造函数构建正则表达式大致相同,但解析后它会立即编译,不需要转义
\

请注意,您至少在另一种语言Perl中具有相同的语法结构

这是一个问题

这与使用构造函数构建正则表达式大致相同,但解析后它会立即编译,不需要转义
\


请注意,您至少在另一种语言Perl中具有相同的语法结构

是规则表达;用于对文本执行模式匹配和“搜索和替换”功能


它是规则的表达;用于对文本执行模式匹配和“搜索和替换”功能


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

RegExp中的
/\w+/
表示按顺序查找字母数字字符<代码>\w表示字母下注中的任何字母或数字<代码>+表示一个序列中至少应有一个或多个

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

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

RegExp中的
/\w+/
表示按顺序查找字母数字字符<代码>\w表示字母下注中的任何字母或数字<代码>+表示一个序列中至少应有一个或多个

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

它是一个正则表达式文本

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

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

var re = /ab+c/; 
正则表达式文本提供了 计算脚本时的正则表达式。当常规的 表达式将保持不变,使用此表达式可获得更好的性能

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

var re = new RegExp("ab+c");
使用构造函数可以提供正则表达式的运行时编译。当您知道正则表达式模式将要更改,或者您不知道该模式并从其他源(如用户输入)获取它时,请使用构造函数


它是一个正则表达式文本

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

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

var re = /ab+c/; 
正则表达式文本提供了 计算脚本时的正则表达式。当常规的 表达式将保持不变,使用此表达式可获得更好的性能

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

var re = new RegExp("ab+c");
使用构造函数可以提供正则表达式的运行时编译。当您知道正则表达式模式将要更改,或者您不知道该模式并从其他源(如用户输入)获取它时,请使用构造函数

有点诗意:
/
是正则表达式,正如
是字符串

var intVar=0;
var stringVar=“0”;
var regexpVar=/0/;
有点诗意:
/
与regexps的关系就像
与字符串的关系一样

var intVar=0;
var stringVar=“0”;
var regexpVar=/0/;

当然,斜杠是JavaScript,否则JS解释器将如何解释它?它不会抛出错误。你说“它不是JavaScript”是什么意思?RegEx使用的语言比JavaScript多。是的,但斜杠——问题是关于斜杠——肯定是JavaScript。是的,我把答案改得更具体一点。对于这种含糊不清表示歉意。当然,斜杠是JavaScript,否则JS解释器将如何解释它呢?它不会抛出错误。你说“它不是JavaScript”是什么意思?RegEx使用的语言比JavaScript多。是的,但斜杠——问题是关于斜杠——肯定是JavaScript。是的,我把答案改得更具体一点。为歧义道歉。可能值得添加使用
new RegExp()。另外,使用
new RegExp()
需要对字符进行转义/双重转义。但我可能是太挑剔了。。。对不起。
/myRegex/.match(myVar)
@DavidThomas编辑:Oops,另一种方式:
myVar.match(/myRegex/)
@11684:考虑在正则表达式中使用变量,而不是试图在表达式中查找由变量表示的字符串。不过,我的措辞可能非常非常糟糕。显然,我指的是“正则表达式的运行时编译”,所以实际上,我说得非常糟糕。哎呀。这真的不可能吗?如果只有一种语言支持这一点,我会认为Javascript就是这样@DavidTomas如上所述,您需要使用构造函数来构建dynamic reg-exp。使用
new RegExp()
来匹配由变量表示的字符串(据我所知,这不能使用regex文本完成)的好处可能值得一提。另外,使用
new RegExp()
需要对ch进行转义/双重转义