我有字符串SUM([A2:A10],[B2:B10],[C2:C10],[D2:D10]),我需要[A2:A10],[B2:B10],[C2:C10],[D2:D10]在数组中获取元素,所以我match()在js中使用.代码片段是
var formula = "SUM([A2:A10],[B2:B10],[C2:C10],[D2:D10])";
var reg = /\[(a-zA-Z0-9)+\]/;
matches = formula.match(reg);
但我没有得到比赛.我希望正则表达式是错误的.我很难建立正则表达式.什么是正确的正则表达式?
Ano*_*ode 16
试试这样:
var formula = 'SUM([A2:A10],[B2:B10],[C2:C10],[D2:D10])';
var reg = /\[\w+:\w+\]/g;
matches = formula.match(reg);
输出:
["[A2:A10]", "[B2:B10]", "[C2:C10]", "[D2:D10]"]
你的正则表达式是正确的方向,但不包括冒号和捕获的个人角色.\w我使用的转义序列是单词character([a-zA-Z0-9_])的快捷方式,使其更具可读性.g获得所有匹配而不是第一个匹配必须使用该标志.