为什么是javascript正则表达式
/e*/
无法匹配字符串“hello”的任何部分?
我已经尝试了以下
"hello".match(/e*/) //return [""]
而/e+/
可以匹配
"hello".match(/e+/) //return ["e"]
我忽略了任何简单的东西????
答案 0 :(得分:2)
匹配,或者您将获得null
。
匹配是字符串开头的零个字符。你的断言是“在字符串中找到e
为零或更多的位置”:就在hello
的开头,有e
的零或更多,所以我们不需要进一步搜索。 match
预计会返回[""]
(匹配的零个字符)。
另一方面,/e+/
想要一个或更多e
个字符;在字符串的开头不满意,但在下一个位置满意,你得到["e"]
。