我有一个字符串,其格式如下(3,1,Mayer,Jack)。我需要所有4个元素作为自己的变量。我想过使用JavaScript的match() - 函数来做到这一点,但我不知道我怎么能在变量中得到4个元素......
我尝试使用此代码:
var clickedId = '(3,1,Mayer,Jack)';
var pregId = clickedId.match(/([\d]+,[\d]+,[\w]+,[\w]+)/g);
alert(pregId[0]);
但我得到一个弹出窗口“(3,1,Mayer,Jack)”......我想到这样的事情:
var id = pregId[0];
var teamid = pregId[1];
var surname = pregId[2];
var name = pregId[3];
我该怎么做?
谢谢!
答案 0 :(得分:2)
match
函数匹配整个表达式,而不是拉出整个部分。所以你需要匹配每个单独的元素,比如像(\d|\w)+
这样的正则表达式。这是一个例子:
var clickedId = '(3,1,Mayer,Jack)';
var pregId = clickedId.match(/((\d|\w)+)/g);
var id = pregId[0];
var teamid = pregId[1];
var surname = pregId[2];
var name = pregId[3];
alert(surname);
答案 1 :(得分:0)
在正则表达式中使用单个组:
clickedId.match(/([\d]+),([\d]+),([\w]+),([\w]+)/g);
然后剩下的应该工作
相反,您将所有内容放入一个组中,使整个表达式匹配为单个字符串