我试图从这个文本格式xx.xx.xx.xx中提取第四个数字,例如(7.0.3.10),所以我使用了
  REGEXP_EXTRACT(applicationVersion, r'[^.]*\.[^.]*\.[^.]*\.([^.]*)'但有时最后一个参数是字符串,而不是数字,就像这个7.0.10.1_chargable,我试图找到一种在数字之后忽略参数的方法,所以我会得到1
 SELECT
      
     REGEXP_EXTRACT(applicationVersion, r'[^.]*\.[^.]*\.[^.]*\.([^.]*)') ,
     applicationVersion,
     max(eventTimestamp)
         FROM
      `datascience.AppEvents`
     group by 1,2 order by 2 desc

,我需要更改什么才能得到这个结果?
发布于 2021-08-11 09:14:43
我会使用regex模式\d+\.\d+\.\d+\.(\d+)
SELECT
    REGEXP_EXTRACT(applicationVersion, r'\d+\.\d+\.\d+\.(\d+)'),
    applicationVersion,
    MAX(eventTimestamp)
FROM datascience.AppEvents
GROUP BY 1, 2
ORDER BY 2 DESC;发布于 2021-08-11 09:13:27
您可以使用
(?:[0-9]+\.){3}([0-9]+)见regex演示。详细信息
(?:[0-9]+\.){3} -三次出现一个或多个数字,然后是一个点。([0-9]+) -捕获组1:一个或多个数字。发布于 2021-08-11 20:37:58
从这种文本格式xx.xx中提取第四个数字
您可以在下面使用
regexp_extract_all(applicationVersion, r'\d+')[safe_offset(3)]https://stackoverflow.com/questions/68739126
复制相似问题