我有字符串[FBWS-1] comes first than [FBWS-2]

在此字符串中,我想查找所有出现的[FBWS-NUMBER]

我尝试了这个:



var term = "[FBWS-1] comes first than [FBWS-2]";
    alert(/^([[A-Z]-[0-9]])$/.test(term));





我想获取所有NUMBERS匹配的[FBWS-NUMBER]字符串。

但是没有成功。我是正则表达式的新手。

谁能帮我。

最佳答案

请注意,^([[A-Z]-[0-9]])$匹配字符串(^),[或大写ASCII字母(带有[[A-Z]),-,ASCII数字和]字符末尾的开头。串。因此,基本上,像[-2]Z-3]这样的字符串。

您可以使用

/\[[A-Z]+-[0-9]+]/g


请参见regex demo

注意如果需要“硬编码” FBWS(仅匹配诸如FBWS-123而不是ABC-3456的值),请在模式[A-Z]+中使用它代替/\[FBWS-[0-9]+]/g

细节


\[-一个[字符
[A-Z]+-一个或多个(由于+限定符)大写ASCII字母
--连字符
[0-9]+-一个或多个(由于+量词)ASCII数字
]-一个]字符。


/g一起使用的String#match()修饰符返回所有找到的匹配项。

JS演示:



var term = "[FBWS-1] comes first than [FBWS-2]";
console.log(term.match(/\[[A-Z]+-[0-9]+]/g));

09-07 18:01