是否有一种特定的方法可以在JavaScript RegEx匹配中检索组?

时间:2015-11-06 01:14:48

标签: javascript regex

所以我想说我在JavaScript中有这个字符串:

var candidates = "hillary clinton sanders clinton bush"

然后我使用此RegEx匹配并在此数组中获取匹配的组:

candidates.match(/clinton ([a-z]+) ([a-z]+)/)
=> [
    'clinton sanders clinton',
    'sanders',
    'clinton',
    index: 8,
    input: 'hillary clinton sanders clinton bush'
]

是否有任何检索匹配组的方法或方法?不必确切地知道有多少?在python中,我通过执行以下操作来实现:

import re
test = "rowing"
temp = re.compile(r"([a-z]+)ing")
temp.match(test).groups()
---> "row"

1 个答案:

答案 0 :(得分:1)

匹配方式在js中工作,当你在regex中有组时,它将始终在索引0处具有完全匹配,并且数组的其余部分将包含组。所以你可以做一些像 var match = candidates.match(/clinton ([a-z]+) ([a-z]+)/); if (match) match = match.slice(1, match.length);

这样的事情

匹配只包含组。您可以将此逻辑放在函数中。