基于分隔符提取字符串的正则表达式

Posted

技术标签:

【中文标题】基于分隔符提取字符串的正则表达式【英文标题】:Regular Expression to extract a string based on delimiter 【发布时间】:2015-09-11 20:00:52 【问题描述】:

我正在尝试从基于分隔符'.'(句点)的字符串中提取子字符串。有人可以分享您对如何使用 regexp_extract 进行操作的想法。谢谢。

**

- Input:-

15.075
0.035

**

Output
075
035

【问题讨论】:

【参考方案1】:

从this answer 看来,您可以使用括号来捕获匹配项,就像在大多数正则表达式系统中一样。也就是说,匹配整个“.[0-9]+”,但只捕获数字部分,用括号括起来,如下所示:

select regexp_extract(input, r'\.([0-9]+)');

这表示匹配一个句点后跟一个或多个数字,并仅提取数字部分。我认为领先的 r 将该字符串标记为正则表达式,但我找不到关于它的文档。

参考:https://cloud.google.com/bigquery/query-reference?hl=en#regularexpressionfunctions

【讨论】:

【参考方案2】:

看来你会想用REGEXP_EXTRACT

REGEXP_EXTRACT(number, r'\.(\d+)')

【讨论】:

谢谢你..我如何得到字符串的第一部分..如果它是 15.075 我正在寻找 15.

以上是关于基于分隔符提取字符串的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式从字符串中提取用逗号分隔的字符串

我需要一个正则表达式来提取分隔符之间的特定字符

正则表达式提取数字并用千位分隔符对它们进行分组

正则表达式 - 从字符串中提取电话号码

如何使用JavaScript正则表达式提取字符串中的最后一个单词?

java 正则表达式 字符串中提取日期 例如:某一节目第20140502期