我是编程新手,我有以下字符串:
var username=Owners|cnt1|john,Status|cnt1|8
我希望提取'john'
用户名将从此变量更改并8
,并将其存储在两个单独的变量中。有人可以帮忙吗
以下代码是否有效?
var re = /(test\d+)\-(\d+)/g;
var arr = [];
答案 0 :(得分:1)
未能在字符串中找到test
。所以匹配,
之前存在的单词和最后一个数字。
var username = "Owners|cnt1|john,Status|cnt1|8"
s = username.match(/[^|,]+(?=,)|\d+$/g)
var user = s[0];
var pass = s[1];
alert(user);
alert(pass)

答案 1 :(得分:0)
您只需使用split()
方法即可:
var username = "Owners|cnt1|john,Status|cnt1|8";
var words = username.split("|");
var name = words[2].split(",")[0];
var num = words[4];
alert("Name is: " + name + " and number is: " + num);
这是Regex的解决方案:
var matches = username.match(/(?!\|)(\w+)(?!,)|(?!\|)(\d+)$/g);
var name = matches[0];
var num = matches[1];
console.log("With Regex, Name is: " + name + " and number is: " + num);