首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从字符串中仅提取版本号

如何从字符串中仅提取版本号
EN

Stack Overflow用户
提问于 2021-08-11 09:10:23
回答 3查看 73关注 0票数 0

我试图从这个文本格式xx.xx.xx.xx中提取第四个数字,例如(7.0.3.10),所以我使用了

代码语言:javascript
运行
复制
  REGEXP_EXTRACT(applicationVersion, r'[^.]*\.[^.]*\.[^.]*\.([^.]*)'

但有时最后一个参数是字符串,而不是数字,就像这个7.0.10.1_chargable,我试图找到一种在数字之后忽略参数的方法,所以我会得到1

代码语言:javascript
运行
复制
 SELECT
      

     REGEXP_EXTRACT(applicationVersion, r'[^.]*\.[^.]*\.[^.]*\.([^.]*)') ,
     applicationVersion,
     max(eventTimestamp)

         FROM
      `datascience.AppEvents`

     group by 1,2 order by 2 desc

,我需要更改什么才能得到这个结果?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-08-11 09:14:43

我会使用regex模式\d+\.\d+\.\d+\.(\d+)

代码语言:javascript
运行
复制
SELECT
    REGEXP_EXTRACT(applicationVersion, r'\d+\.\d+\.\d+\.(\d+)'),
    applicationVersion,
    MAX(eventTimestamp)
FROM datascience.AppEvents
GROUP BY 1, 2
ORDER BY 2 DESC;
票数 1
EN

Stack Overflow用户

发布于 2021-08-11 09:13:27

您可以使用

代码语言:javascript
运行
复制
(?:[0-9]+\.){3}([0-9]+)

regex演示。详细信息

  • (?:[0-9]+\.){3} -三次出现一个或多个数字,然后是一个点。
  • ([0-9]+) -捕获组1:一个或多个数字。
票数 0
EN

Stack Overflow用户

发布于 2021-08-11 20:37:58

从这种文本格式xx.xx中提取第四个数字

您可以在下面使用

代码语言:javascript
运行
复制
regexp_extract_all(applicationVersion, r'\d+')[safe_offset(3)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68739126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档