Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式;don';t匹配数字,除非后跟'/';_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式;don';t匹配数字,除非后跟'/';

Javascript 正则表达式;don';t匹配数字,除非后跟'/';,javascript,regex,Javascript,Regex,我有一个字符串:{16}{2/W}{G/R}{W}。我使用javascript正则表达式来提取括号内容,但我想忽略任何数字括号,如{16}。但是,我希望匹配具有数字和字母的括号,如{2/W}。到目前为止,我有/{([^}0-9]+)}/g,它匹配{g/R}和{W}很好,并且按照我的要求排除{16},但它不匹配{2/W}。有没有一种说法是“除非后面跟非数字,否则不要匹配数字”?你可以这样说: var string=“{16}{2/W}{G/R}{W}”; var result=string.ma

我有一个字符串:
{16}{2/W}{G/R}{W}
。我使用javascript正则表达式来提取括号内容,但我想忽略任何数字括号,如
{16}
。但是,我希望匹配具有数字和字母的括号,如
{2/W}
。到目前为止,我有
/{([^}0-9]+)}/g
,它匹配
{g/R}
{W}
很好,并且按照我的要求排除
{16}
,但它不匹配
{2/W}
。有没有一种说法是“除非后面跟非数字,否则不要匹配数字”?

你可以这样说:

var string=“{16}{2/W}{G/R}{W}”;
var result=string.match(/{(\d*[^}\d]+[^}]*)}/g)
控制台日志(结果)
var regExample=“{16}{2/W}{G/R}{W}”;
var matches=regExample.match(/{([^}\d]+)\}{(\d+\/\w+)}/g)

console.log(匹配项)
试试这个:
/{\d*?[a-zA-Z\/]+\d*?}/g
你有没有尝试过逃脱
{/code>和
}
?@Yuriy Yakym,它只匹配
{2/W}
而不是
{W}
{g/R}
@YuriyYakym抱歉,我忘了全局标志。你的解决方案确实有效。谢谢:)