REGEXREPLACE如何删除SPAIN:到首个4个以上连续大写字母结尾冒号间内容
问题原因
你写的公式中.*属于贪婪匹配规则,会尽可能匹配最长的字符序列,因此会一直匹配到整个字符串里最后一组符合「4个以上大写字母加: 」规则的内容为止,和你要匹配到首个目标格式的需求相悖。
修正后公式
=REGEXREPLACE(A2,"SPAIN: .*?([A-ZÀ-ÿ\-' ]{4,}: )","$1")
改动说明
- 将贪婪匹配符
.*替换为非贪婪匹配符.*?,它会尽可能匹配最短的字符序列,碰到第一个符合规则的[A-ZÀ-ÿ\-' ]{4,}:格式内容就停止匹配,刚好满足你匹配首个目标格式的要求。 - 你也可以保留原写法的捕获组结构,只需改
.*为.*?即可,修正后写法为=REGEXREPLACE(A2,"SPAIN: .*?([A-ZÀ-ÿ\-' ]{4,}): ","$1: "),运行效果完全一致。
内容的提问来源于stack exchange,提问作者Exdefoot
相关产品推荐
相关产品推荐

