我有字符串[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));