1

我想在谷歌数据工作室中创建一个计算字段,它只返回字符串开头的数字,看起来像这样:

123-something-something1
or
32-something-something2
or
1234-somthing-something3

我认为我有正确的正则表达式,但它只返回 null,这意味着正则表达式是错误的。

我试过的正则表达式:

REGEXP_EXTRACT(Campagne, '.*')
REGEXP_EXTRACT(Campagne, '^[0-9].[0-9]*')
REGEXP_EXTRACT(Campagne, '[0-9].[0-9]*')
REGEXP_EXTRACT(Campagne, '^[0-9]*')
REGEXP_EXTRACT(Campagne, '[0-9]*')
REGEXP_EXTRACT(Campagne, '^[0-9].[0-9]*')
REGEXP_EXTRACT(Campagne, '[0-9].[0-9]*')
  • ^这应该代表值的开始
  • [0-9]应该计算任何数字
  • .应该匹配任何字符
  • *算作前一个字符的乘数

真的希望有人可以帮助我,因为我无法让它工作

4

1 回答 1

6

关键是匹配并捕获字符串开头的数字。必须有 1) 至少 1 位数字和 2) 捕获组。

您可以使用提取前导数字

REGEXP_EXTRACT(Campagne, '^([0-9]+)')

模式匹配:

  • ^ - 字符串的开头
  • ([0-9]+)- 捕获组 1(您提取的内容):一个或多个 ( +) 数字 ( [0-9])。
于 2017-11-06T15:22:42.443 回答