考虑以下字符串method<arg1,arg2,arg3>
获取多个匹配的一组在正则表达式
我想用正则表达式来获得部分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的工作。
编辑:参数的个数(arg1,arg2等)是任意的,可以在不同情况下更改。
这可能会帮助:HTTP://www.regular-expressions .info/captureall.html – techfoobar
'方法'多次出现在字符串中? –
+1,很好,很好的问题 – Senjai