Google Sheets(RE2)正则提取字符串中最后出现的数字(鞋码)
Google Sheets(RE2正则引擎)提取商品标题鞋码解决方案
需求说明
需从包含型号、年份等其他数字的商品标题中提取鞋码,鞋码通常位于字符串末尾,可能被括号包裹、带有前缀(如Numeric_)或后续附带其他字符。
样本数据
Nike - GS AIR MAX '95 [905348-028] Anthracite/Amarillo/Black/Wolf Grey 6.5 Nike - AIR MAX 95 ERDL Party [AR4473-001] Black/Multi Color 11.5 Nike Womens Air Max Torch 4 Running Shoe (8, White/Black-Volt-Laser Crimson) NIKE Men's Air Max 2017, Bright Crimson/Black, 8 M US Nike Mens Air Max 97 Qs Running Shoes (11) Nike Men's Air Max 270 React Running Shoes (Black/Oil Grey/Grey Black, 12) Nike Men's Air Max 200 Running Sneakers (12, Habanero Red/Oil Grey) Nike Air Max Camden Men's Slide Sandal (Black/White/Black, Numeric_12)
期望输出
6.5 11.5 8 8 11 12 12 12
已尝试公式
REGEXEXTRACT(A1, "(.*\d\d\.?\d.*)") REGEXEXTRACT(A1, "\(?\d\d?\.?\d?\)?\z")
解决方案
使用以下公式即可正确提取鞋码:
=REGEXREPLACE(A1, ".*(\b\d{1,2}\.?\d?\b)(?:\D*)$", "$1")
公式解释
.*:匹配标题中任意数量的前置字符(\b\d{1,2}\.?\d?\b):捕获符合鞋码格式的数字:\b:单词边界,避免匹配型号、年份中的数字(如95、2017)\d{1,2}:匹配1-2位整数部分(覆盖常见鞋码范围)\.?\d?:可选的小数点及一位小数(适配带小数的鞋码,如6.5)
(?:\D*)$:匹配数字后任意数量的非数字字符直到字符串结尾$1:将整个字符串替换为捕获到的鞋码数字
内容的提问来源于stack exchange,提问作者kislam
相关产品推荐
相关产品推荐

