返回子串匹配

时间:2013-07-17 15:08:28

标签: javascript jquery regex

我试图只使用正则表达式获取字符串的一部分

这是我正在测试的字符串

class1 container _box _box_CEC493

字符串是应用于元素的一系列类。

我想要得到的只是CEC493,因为正则表达式将被应用于一堆不同的元素(因此字符串就像上面那样),所以它会发生变化。

我正在使用的正则表达式是

/\s_box_([0-9a-zA-Z]+)/

返回

_box_CEC493, CEC493

如何修改它以获得第二个值(CEC493)?

谢谢

3 个答案:

答案 0 :(得分:2)

你可能只是拆分字符串:

var str = "class1 container _box _box_CEC493";
var match = str.split('_').pop();
alert(match);

DEMO

答案 1 :(得分:0)

regex回归的标准方式是这样的:

[0]:整个结果

[1]:第一个括号捕获组

因此,人们使用result[1]访问这些内容的标准方式。这会导致您的案件出现任何问题吗?

答案 2 :(得分:0)

<强> [更新]

而不是选择所有字符,选择直到不需要的字符,并且由于您从多个类中进行选择,因此您可能单独使用_box_..类而没有空格,所以不要t在正则表达式选择器的开头使用空格。

str.match(/_box_([^\s]*)/)[1]

<强> jsfiddle