单元格存储正则时REGEXMATCH/REGEXEXTRACT全局不区分大小写的正确语法
问题原因
- 正则的内联不区分大小写修饰符
(?i)默认仅作用于它所在的分支,你之前写在.*abc.*前面,修饰符的生效范围不会覆盖|分隔的其他分支,所以只有第一个分支的匹配不区分大小写。
解决方案
你只需要将所有分支规则用括号包裹,再把(?i)放在括号最开头,就能让修饰符作用于全部分支,不需要给每个分支单独加修饰符。
你可以直接把B2单元格的正则内容改成下面两种写法任意一种:
- 普通分组写法:
(?i)(.*abc.*|.*def.*) - 非捕获分组写法(更推荐,不会产生多余的捕获结果):
(?i)(?:.*abc.*|.*def.*)
调整后所有分支的匹配都会默认不区分大小写,后续新增分支也不需要额外加修饰符。
内容的提问来源于stack exchange,提问作者Evgeniy
相关产品推荐
相关产品推荐

