如何将GAS正则匹配逻辑移植到Google Sheets REGEXMATCH并解决报错
正确正则表达式及用法
错误原因说明
- Google Sheets的正则表达式基于RE2引擎,所有转义用的反斜杠
\必须双重转义为\\才能生效,你原写法里的\s、\1都属于转义语法,直接写会被判定为无效 - POSIX字符类
[:alpha:]必须嵌套在方括号内使用,正确写法为[[:alpha:]],单独写[:alpha:]不符合正则语法规则 - 原需求要求匹配两个相同字母后方的非空白字符,你的尝试写法里遗漏了对应匹配规则
正确公式
和你GAS逻辑完全对齐的公式如下:
=REGEXMATCH(B6, "\\s([a-z])\\1\\S")
如果需要匹配大小写字母(不区分大小写),可以替换为带POSIX字符类的版本:
=REGEXMATCH(B6, "\\s([[:alpha:]])\\1\\S")
各部分含义说明
\\s:匹配两个相同字母前方的空格([a-z])/([[:alpha:]]):捕获单个字母作为第一个捕获组\\1:匹配与第一个捕获组完全相同的字符,实现两个连续相同字母的匹配效果\\S:匹配两个相同字母后方的任意非空白字符
内容的提问来源于stack exchange,提问作者jason
相关产品推荐
相关产品推荐

