Javascript |\s的目的/效果是什么?在([\s\s]+|\s?)中

Javascript |\s的目的/效果是什么?在([\s\s]+|\s?)中,javascript,regex,Javascript,Regex,|\s的目的或效果是什么?在[\s\s]+|\s??如果没有它,表达式不是与[\s\s]+?相同吗?这意味着所有字符中的一个或多个,或者只有一个或零个空格 [\s\s]+相当于+ 和\s?表示可选空格,表示所有字符中的一个或多个,或仅表示一个或零个空格 [\s\s]+相当于+ 和\s?表示可选空格它不完全相同。[\s\s]+|\s?将匹配空字符串,而[\s\s]+将不匹配 但是,[\s\s]*将是等效的。它并不完全相同。[\s\s]+|\s?将匹配空字符串,而[\s\s]+将不匹配 但是,[\s

|\s的目的或效果是什么?在[\s\s]+|\s??如果没有它,表达式不是与[\s\s]+?

相同吗?这意味着所有字符中的一个或多个,或者只有一个或零个空格

[\s\s]+相当于+

和\s?表示可选空格

,表示所有字符中的一个或多个,或仅表示一个或零个空格

[\s\s]+相当于+

和\s?表示可选空格

它不完全相同。[\s\s]+|\s?将匹配空字符串,而[\s\s]+将不匹配

但是,[\s\s]*将是等效的。

它并不完全相同。[\s\s]+|\s?将匹配空字符串,而[\s\s]+将不匹配


但是,[\s\s]*将是等效的。

第一个正则表达式匹配一个空字符串,而第二个不匹配。第一个正则表达式匹配一个空字符串,而第二个不匹配。或者与/*/.@RobG不完全匹配,“\nfoo'.match/*/→ [],'\nfoo'.match/[\s\s]*/→ ['\nfoo']或与/*/.@RobG不完全相同,'\nfoo'.match/*/→ [],'\nfoo'.match/[\s\s]*/→ ['\nfoo']仅适用于DOTALL。因为这是带标签的Javascript,所以您的第二条语句是不正确的。不匹配\n。仅与DOTALL匹配。因为这是带标签的Javascript,所以您的第二条语句是不正确的。不匹配\n。