Google Sheets使用REGEXEXTRACT提取指定区间字符串问题求助
问题原因
你使用的(.+)属于贪婪匹配规则,会尽可能匹配最长的字符串直到文本中最后一个字符A,所以会把交易码前缀的A之前的所有内容都包含进去,同时没有处理首尾多余的空格,才会得到不符合预期的结果。
修正后的公式
=TRIM(REGEXEXTRACT(B2, "8906\s*(.+?)\s*A\d"))
规则说明
8906:匹配银行卡尾号的固定标识\s*:匹配尾号后任意数量的空白字符,自动过滤商户名前的多余空格(.+?):非贪婪匹配,仅匹配到满足后续规则的最短内容,避免过度匹配\s*A\d:匹配以A开头、后面紧跟数字的交易码特征,确保定位到的是你要找的唯一交易码的起始位置,不会误匹配商户名称里可能出现的字母A- 外层嵌套
TRIM()函数,自动清除提取结果首尾的残留空白字符
内容的提问来源于stack exchange,提问作者WhenWordsOutPerformSilence
相关产品推荐
相关产品推荐

