如果我在节点repl中执行此指令
"hello".match(/(\w+)(.*)/)
它返回此
[ 'hello',
'hello',
'',
index: 0,
input: 'hello' ]
我希望它返回前三个项目,其他值来自哪里?
答案 0 :(得分:4)
hello
。(\w+)
的内容。那是hello
,再次。(.*)
的内容。这是hello
之后的空字符串。index
是匹配开头的位置 - 这是字符串的第一个字符。input
向您显示正在执行正则表达式的字符串 - hello
。很难找到关于此的文档(至少对我而言),但是MSDN中描述了正则表达式匹配返回的对象:http://msdn.microsoft.com/en-us/library/ie/7df7sf4x(v=vs.94).aspx:
如果未设置全局标志,则match方法返回的数组有两个属性
input
和index
。input
属性包含整个搜索的字符串。index
属性包含匹配的子字符串在完整搜索字符串中的位置。