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_Perl - Fatal编程技术网

javascript正则表达式惊喜

javascript正则表达式惊喜,javascript,regex,perl,Javascript,Regex,Perl,我在Chrome的开发者控制台中尝试了以下JavaScript: s = "mysessionId=PsGymRfxWIQG9gjNGgRlKw" s.match("mysessionId=([^\s\;]+)") 对结果有点惊讶: ["mysessionId=P", "P"] 我原以为regexp中的()将匹配整个“PsGymRfxWIQG9gjNGgRlKw”,相反,它只匹配第一个字符“p” 当我在perl中尝试regexp时,它确实匹配整个sessionId 知道为什么吗?我应该用//

我在Chrome的开发者控制台中尝试了以下JavaScript:

s = "mysessionId=PsGymRfxWIQG9gjNGgRlKw"
s.match("mysessionId=([^\s\;]+)")
对结果有点惊讶:

["mysessionId=P", "P"]
我原以为regexp中的()将匹配整个“PsGymRfxWIQG9gjNGgRlKw”,相反,它只匹配第一个字符“p”

当我在perl中尝试regexp时,它确实匹配整个sessionId


知道为什么吗?

我应该用//而不是“”


当我弄明白的时候,我不得不笑了。

问题是转义
“mysessionId=([^\s\;]+)”==“mysessionId=([^s;]+)”
。因此,您必须像这样编写:
newregexp(“mysessionId=([^\\s\\;]+)”)
s.match(/mysessionId=([^\s\;]+)/)