我有这个字符串:{16}{2/W}{G/R}{W}
。我使用javascript正则表达式来提取括号内容,但我想忽略任何仅限数字的括号,例如{16}
。但是,我希望匹配具有数字和字母的括号,例如{2/W}
。到目前为止,我有/{([^}0-9]+)}/g
,其匹配{G/R}
和{W}
就好了,并且根据我的要求排除了{16}
,但它并不匹配{{1} }}。有没有办法说不匹配数字,除非后跟非数字'?
答案 0 :(得分:1)
您可以使用:
var string = "{16}{2/W}{G/R}{W}";
var result = string.match(/{(\d*[^}\d]+[^}]*)}/g)
console.log(result);

这将检查3种类型的匹配:
答案 1 :(得分:1)
var regExample = "{16}{2/W}{G/R}{W}";
var matches = regExample.match(/{([^}\d]+)\}|{(\d+\/\w+)}/g)
console.log(matches);