日期:2014-04-28
作者: Barret Lee
"something".match(/\s*(.*?)\s*/)
> ['', '']
"something".match(/^\s*(.*?)\s*$/)
> ["something", "something"]
为何前者匹配的结果为空?
如果你不清楚正则的贪婪模式和非贪婪模式,请先移步这里.
整个匹配分为三步:
可能这么说还是不太清晰,先看看这个对比:
关于返回结果不是 null 而是 "",你可以理解为匹配到了零个 a。