我试图只使用正则表达式获取字符串的一部分
这是我正在测试的字符串
class1 container _box _box_CEC493
字符串是应用于元素的一系列类。
我想要得到的只是CEC493
,因为正则表达式将被应用于一堆不同的元素(因此字符串就像上面那样),所以它会发生变化。
我正在使用的正则表达式是
/\s_box_([0-9a-zA-Z]+)/
返回
_box_CEC493, CEC493
如何修改它以获得第二个值(CEC493
)?
谢谢
答案 0 :(得分:2)
你可能只是拆分字符串:
var str = "class1 container _box _box_CEC493";
var match = str.split('_').pop();
alert(match);
答案 1 :(得分:0)
regex回归的标准方式是这样的:
[0]:整个结果
[1]:第一个括号捕获组
等
因此,人们使用result[1]
访问这些内容的标准方式。这会导致您的案件出现任何问题吗?
答案 2 :(得分:0)
<强> [更新] 强>
而不是选择所有字符,选择直到不需要的字符,并且由于您从多个类中进行选择,因此您可能单独使用_box_..
类而没有空格,所以不要t在正则表达式选择器的开头使用空格。
str.match(/_box_([^\s]*)/)[1]
<强> jsfiddle 强>