我是正则表达式的新手,一直在努力解决这个问题,并将我的问题抽象为以下问题:
var foo = "abc";
var array1 = match(/abc/);
var array2 = match(/a(b)c/);
array1 当然只包含“abc”,但array2 将包含“abc”和“b”。
为什么 array2 也会选择“b”?这对我来说是个问题,因为我在大括号内匹配一些东西,如“{1 2a 3}”,正则表达式如/\{(\d(|a|b)\s?)+\}/
,结果数组返回空字符串和“3”以及所需的“{1 2a 3 }”。
谢谢!
艾萨克