在正则表达式匹配后获取特定字符

时间:2018-06-17 14:56:41

标签: javascript regex

我正在创建一个JavaScript应用程序,我需要一个正则表达式来完成以下事情:

我有不同的字符串,如:

"./resources/red_B.png" or "./resources/red_1.png"

我希望在red_文字之后获取该字符,因此我想要一个返回字符B1的正则表达式。

我不是正则表演的明星,所以我想知道是否有人知道问题的解决方案。

3 个答案:

答案 0 :(得分:1)

尝试正则表达式:\/resources\/red_\K(\w)

Demo

答案 1 :(得分:0)

我想这就是你想要的:

red_(\w)+\.

this link

中所述,用js中的群组捕捉它

答案 2 :(得分:0)

您可以匹配./resources/red_,然后使用否定的character class ([^.]+)

在群组中捕捉而不是点

\.\/resources\/red_([^.]+)

const strings = [
  "./resources/red_B.png",
  "./resources/red_1.png"
];
let pattern = /\.\/resources\/red_([^\.]+)/;
strings.forEach((s) => {
  console.log(s.match(pattern)[1]);
});