Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 使用正则表达式时获取空匹配项\d*_Javascript_Regex - Fatal编程技术网

Javascript 使用正则表达式时获取空匹配项\d*

Javascript 使用正则表达式时获取空匹配项\d*,javascript,regex,Javascript,Regex,如果我将regext更改为have\d+,则得到正确的值:1234和4567。为什么在第一种情况下我会得到所有这些空匹配。*表示0或更多+表示一个或多个 \d*匹配每个字符之间的空格,因为这是空字符串,即零位。当您使用\d+时,空字符串不再是有效的匹配项,因此您不会获得这些额外的匹配项。因为您有(\d*),这意味着每次有0或更多数字时都会捕获,这意味着 每个字符(甚至一些不可见的字符,如换行符)都匹配 使用\d+,表示有1个或多个数字的匹配 string = 'Hello _1234_ worl

如果我将regext更改为have\d+,则得到正确的值:1234和4567。为什么在第一种情况下我会得到所有这些空匹配。

*
表示0或更多<代码>+表示一个或多个

\d*
匹配每个字符之间的空格,因为这是空字符串,即零位。当您使用
\d+
时,空字符串不再是有效的匹配项,因此您不会获得这些额外的匹配项。

因为您有(\d*),这意味着每次有0或更多数字时都会捕获,这意味着 每个字符(甚至一些不可见的字符,如换行符)都匹配

使用\d+,表示有1个或多个数字的匹配

string = 'Hello _1234_ world _4567_';
string.match(/(\d*)/gi);
//,,,,,,,1234,,,,,,,,,,4567,,