我有以下一组字符串
big-div button-green
big-div button-red
big-div button-yellow
我想得到以下结果
green
red
yellow
我设法做到了这一点,/\sbutton-[^\s]*/gi
但与整个字符串匹配,如button-yellow
提前致谢!
我有以下一组字符串
big-div button-green
big-div button-red
big-div button-yellow
我想得到以下结果
green
red
yellow
我设法做到了这一点,/\sbutton-[^\s]*/gi
但与整个字符串匹配,如button-yellow
提前致谢!
放置一个捕获组[^\s]*
,您可以将其作为第一个捕获组访问。
或者,我会把它写成......
var match = (str.match(/\sbutton-(\S*)/gi) || [])[1];
这会给你匹配,或者undefined
如果它不能匹配任何东西。
如果str
也是一个类,我会交换边界(?:^|\s)
和(?:$|\s)
或以其他方式匹配\s
并用空格包装匹配的字符串。
str.match(/\sbutton-([^\s]*)/i)[1]
答案就在标题中:只需创建一个捕获组:
/\sbutton([^\s]+)$/i
并获取返回的匹配数组的第一个元素,该元素仅包含您感兴趣的字符