Google apps脚本:基于两个标准的regexmatch,包括传递的变量
我正在使用Google apps脚本:基于两个标准的regexmatch,包括传递的变量,regex,google-apps-script,Regex,Google Apps Script,我正在使用SpreadsheetApp.newFilterCriteria().whenformulasuccessfuted()筛选工作表,但我没有正确设置regexmatch()函数。我需要根据两个条件筛选列A: 必须包含“ak1”或“ak2” 并且,必须包含myVar,这是一个将传递给脚本的变量 我知道如何编写regexmatch语句来获得条件1(regexmatch(A:A,“(?I)ak1 | ak2”)),但我一直在思考如何将其与条件2结合起来 我迄今为止最好的尝试是: var re
SpreadsheetApp.newFilterCriteria().whenformulasuccessfuted()
筛选工作表,但我没有正确设置regexmatch()函数。我需要根据两个条件筛选列A:
myVar
,这是一个将传递给脚本的变量regexmatch
语句来获得条件1(regexmatch(A:A,“(?I)ak1 | ak2”)
),但我一直在思考如何将其与条件2结合起来
我迄今为止最好的尝试是:
var regex = new RegExp( myVar, 'g' );
var crit = '=regexmatch(A:A, "^(?=.*ak1|ak2|)(?=.*myVar)")'
编辑以添加示例:
如果A列包含
Chr_rq_ak1
Chr_rq_ak2
Chr_rq_ak6
Chr_gv_ak1
我希望以下内容可见,其余部分隐藏:
Chr_rq_ak1
Chr_rq_ak2
如果您想使用替换项,您必须将它们分组
(?=.*(:k1 | ak2))
,并在末尾省略
如果后面只有一个字符,也可以使用
您可以使用
和:
=AND(REGEXMATCH(A2,"(?i)ak(?:1|2)"),REGEXMATCH(A2,"myVar"))
你能提供一个工作表名称的例子吗?我认为模式应该是^(?=.*ak[12])(?=.*myVar)
看,我无法得到其他答案。我能够通过一些修改使这个建议生效:var-crit='=AND(REGEXMATCH(A2,(?I)ak(?:1 | 2)”),REGEXMATCH(A2,“+myVar+”)
wherevar-myVar=“rq”
=AND(REGEXMATCH(A2,"(?i)ak(?:1|2)"),REGEXMATCH(A2,"myVar"))