正则表达式,选择特定字符串后的数字

Posted

技术标签:

【中文标题】正则表达式,选择特定字符串后的数字【英文标题】:Regex, select the number after a particular string 【发布时间】:2019-01-17 09:14:38 【问题描述】:

我有以下字符串:

rollover#7500,another1#3000,another2#4000, another1#7000

我需要提取翻转后直接出现的数字#

到目前为止,我有这个,但它匹配 rollover#7500

(?:rollover#[0-9]*)

我不确定如何只提取数字?

我将在 Hive 查询中运行它

【问题讨论】:

【参考方案1】:

你可以使用

regexp_extract(your_col,'rollover#([0-9]+)', 1)

rollover#([0-9]+) 模式 will find rollover# 然后将 1 个或多个数字捕获到组 1,第三个 1 参数将使 regexp_extract 仅返回组 1 值。

【讨论】:

以上是关于正则表达式,选择特定字符串后的数字的主要内容,如果未能解决你的问题,请参考以下文章

C#正则表达式如何提取一段字符串中汉字后的数字

数字后的Java正则表达式拆分字符串[重复]

python 正则表达式

如何选择特定范围(使用红移正则表达式)

正则表达式根据其中的值获取特定匹配括号后的所有内容

正则表达式匹配字母数字,除了特定的子字符串