【发布时间】:2019-07-01 14:08:05
【问题描述】:
function getPrecedents(thisFormula){
var exp = /(\w+\!)?\$?[A-Z]{1,}(?:\d+)?(\:?\$?\w+)*(?!\()\b/gm;
var results=[];
var result;
while ((result=exp.exec(thisFormula))!== null){
results.push(result);
}
return results;
}
从上面的代码我得到以下结果
Trigger_Hires!$AA$15
AD$7
Trigger_Hires!$AC60
Trigger_Hires!$AB60
Rev
Import_Staffing!AD$16
Trigger_Hires!$AC60
Trigger_Hires!$AB60
Customers
Import_Staffing!AD$19
Trigger_Hires!$AC60
我想通过修改的正则表达式或第二个循环消除像 Rev 和 Customers 这样的字母的结果
【问题讨论】:
-
谢谢维克托。那行得通!但我不明白。我是正则表达式的新手。我不明白为什么索引为 0 结果 [0]。你能解释一下吗?