【发布时间】:2014-06-25 16:27:16
【问题描述】:
如果我在节点 repl 中执行这条指令
"hello".match(/(\w+)(.*)/)
返回这个
[ 'hello',
'hello',
'',
index: 0,
input: 'hello' ]
我希望它返回前三个项目,其他值是从哪里来的?
【问题讨论】:
如果我在节点 repl 中执行这条指令
"hello".match(/(\w+)(.*)/)
返回这个
[ 'hello',
'hello',
'',
index: 0,
input: 'hello' ]
我希望它返回前三个项目,其他值是从哪里来的?
【问题讨论】:
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属性包含匹配的子字符串在完整搜索字符串中的位置。
【讨论】: