loo*_*ing 0 javascript regex match non-greedy
/.*?/.exec("abc");//output [""]
Run Code Online (Sandbox Code Playgroud)
我认为.*?
是非贪婪的,它应该回归a
好吧,这是预期的,因为.*
意味着0或更多,并让?
你使它非贪婪,因此它匹配一个空字符串.
如果你想匹配a
那么你应该使用:
/.+?/.exec("abc");
Run Code Online (Sandbox Code Playgroud)
DIfference +
不是*
使用非贪婪量词匹配1个或多个字符的意思.