Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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,我试图找到一个正则表达式,将验证网址的工作。我发现这家伙: ^(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$ 当我将它插入javascript时,它运行得非常好,但当我将它插入javascript时,它无法匹配 我正在测试此URL: http://s3.amazonaws.com/SomeShow/Podcasts/HouroneofWhatever234.mp

我试图找到一个正则表达式,将验证网址的工作。我发现这家伙:

^(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$
当我将它插入javascript时,它运行得非常好,但当我将它插入javascript时,它无法匹配

我正在测试此URL:

http://s3.amazonaws.com/SomeShow/Podcasts/HouroneofWhatever234.mp3

有人知道为什么它会在regexpal中匹配,但在我尝试在javascript中使用它时却不匹配吗?

使用regex文本:

/^(http|ftp|https):\/\/[\w-]+...$/
(您还必须转义斜杠,以防止它们被解释为结束正则表达式终端符号)

如果使用字符串,则必须转义每个反斜杠,因为反斜杠也是字符串中的转义字符

new RegExp("^(http|ftp|https)://[\\w-]+...$")
在当前表达式中,
“[\w-]+”
将变为
[w]+
,因为
\w
不是字符串中的有效转义序列


请参阅:

使用正则表达式文字:

/^(http|ftp|https):\/\/[\w-]+...$/
(您还必须转义斜杠,以防止它们被解释为结束正则表达式终端符号)

如果使用字符串,则必须转义每个反斜杠,因为反斜杠也是字符串中的转义字符

new RegExp("^(http|ftp|https)://[\\w-]+...$")
在当前表达式中,
“[\w-]+”
将变为
[w]+
,因为
\w
不是字符串中的有效转义序列



请参阅:

并对每个正斜杠进行转义。否则会出现意外的令牌错误吗?是的,修正了。。。这里有点晚;)并跳过每个正斜杠。否则我会得到一个意外的令牌错误?是的,修正了。。。这里有点晚;)