将jquery正则表达式匹配中的匹配值分配给字符串变量

bra*_*iel 1 javascript regex jquery

我做错了.我知道.

我想将匹配的文本作为正则表达式的结果分配给字符串var.

基本上正则表达式应该在两个冒号之间拉出任何东西

所以,等等:xx:blahdeeblah 会导致xx

var matchedString= $(current).match('[^.:]+):(.*?):([^.:]+');
alert(matchedString);
Run Code Online (Sandbox Code Playgroud)

我希望得到这个把xx放在我的matchString变量中.

我检查了jquery文档,他们说匹配应该返回一个数组.(字符串char数组?)

当我运行时没有任何反应,控制台中没有错误,但我测试了正则表达式,它在js之外工作.我开始认为我只是正在使用正则表达式错误,或者我完全没有得到匹配函数如何完全正常工作

And*_*y E 5

我检查了jquery文档,他们说匹配应该返回一个数组.

jQuery没有这样的方法. match是字符串的标准javascript方法.所以使用你的例子,这可能是

var str = "blah:xx:blahdeeblah";
var matchedString = str.match(/([^.:]+):(.*?):([^.:]+)/);
alert(matchedString[2]);
// -> "xx"
Run Code Online (Sandbox Code Playgroud)

但是,你真的不需要正则表达式.您可以使用另一个字符串方法,split()使用分隔符将字符串分成字符串数组:

var str = "blah:xx:blahdeeblah";
var matchedString = str.split(":");  // split on the : character
alert(matchedString[1]);
// -> "xx"
Run Code Online (Sandbox Code Playgroud)