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