正则表达式提取带空格和不带空格的字符串

Regex Extract string with and without spaces

我正在处理正则表达式提取,其中行项目在我要提取的字符串的开头可能有也可能没有 space。

例如,我正在查看订单项

ABC_Store:Clothes:Shirt:Blue_ABC_XYZ
ABC_Store:Clothes: Pants: Red_ABC_XYZ 

在这两种情况下,我都想提取冒号后的第三项(衬衫和裤子),但我认为我无法绕过 space。

最近我尝试了 REGEXP_EXTRACT(Dimension, ‘:([^_]+):’) 但这会提取“衣服:衬衫”和“衣服:裤子”,而不仅仅是衬衫和裤子。

非常感谢对此的指导!

您可以将 REGEXP_EXTRACT 与捕获组一起使用:

REGEXP_EXTRACT(Dimension, '^[^:]+:[^:]+:\s*([^:]+)')

Demo