考虑以下字符串method<arg1,arg2,arg3>
我想使用 RegEx从这个字符串中获取部分method
, arg1
, arg2
, 。arg3
以下正则表达式/([a-z0-9]+)<(?:([a-z0-9]+),?)*>/i
匹配整个字符串。
那是,
var result = /([a-z0-9]+)<(?:([a-z0-9]+),?)*>/i.test('method<arg1,arg2,arg3>');
// result = true
但是,regEx.exec
方法只返回method
,arg3
部分。
result = /([a-z0-9]+)<(?:([a-z0-9]+),?)*>/i.exec('method<arg1,arg2,arg3>');
// result is ["methodname<arg1,arg2,arg3>", "methodname", "arg3"]
// as opposed to
// ["methodname<arg1,arg2,arg3>", "methodname", "arg1", "arg2", "arg3"]
有没有办法获得一个组的所有比赛?
注意:我问这个是为了学习,我不想让 JavaScript 变通。
编辑: args 的数量(arg1、arg2 等)是任意的,并且可以在不同的情况下改变。