regex - 谷歌表格正则表达式引擎是否支持后视?
问题描述
我的印象是 Sheets 支持 re2,它不支持lookaround。
考虑他遵循 Sheet 的示例脚本。正则表达式期望匹配单词dog本身或者如果前面有单词cat。
function testRegex(){
var rg = /(?<=(cat|\b))dog/;
var s = "catdog";
Logger.log("%s: %s",s,rg.test(s));
s = "sdog";
Logger.log("%s: %s",s,rg.test(s));
s = "dog";
Logger.log("%s: %s",s,rg.test(s));
}
那么问题是否支持?
解决方案
您正在 Google Apps 脚本中使用 JavaScript。GAS 现在使用支持后视、命名捕获组、s
修饰符的现代 JavaScript 引擎。所以,你的模式运作良好。
如果您在 aREGEXEXTRACT
或REGEXREPLACE
公式中使用后向模式,它将失败,因为这些REGEX~
函数使用 RE2 正则表达式库。你不能在那里使用lookbehind。
推荐阅读
- amazon-web-services - 将 Dreamweaver 文件管理器与 Amazon LightSail 连接
- python - 递归地跟随目录树
- angular - Angular / rxjs 可观察函数返回没有 HTTP 数据
- processing - 我如何用while循环做很多椭圆,并将灰色从中间到外面更亮一点?
- algorithm - Shazam 如何避免误报?
- php - 无法为 url 重定向编写正确的 htaccess 文件
- sql - 如何复制/插入多行数据以在postgres中实现多对多关系
- python - 将值从 cloudformation 传递给用 python 编写的 lambda 函数
- antlr4 - 如何在一个特定规则中不允许空格 - 否则语法会正确跳过空格
- python - Python pandas:在没有日期变量的情况下按组区分数据帧中的所有时间序列