我正在尝试提取出现在 'dd ->' 之后的所有数字
我已经想出了如何在 'dd ->' 之后提取第一次出现的数字:regexp_extract(string, 'dd\\s->\\s([0-9]+)')
以及如何替换除数字以外的所有字符
regexp_replace(string, '[^0-9]+', '')
但未能找到解决方案
字符串:
(dd -> 2192, bar -> 1), (dd -> 2670, bar -> 1), (dd -> 2487, bar -> 3),(dd -> 2346, bar -> 3) kk=67457 ghyt=1628 nn=8.67.1
所需的输出:
2192 2670 2487 2346
谢谢!
答案 0 :(得分:0)
使用
dd ->( [0-9]+)|.
替换为 $1
。
说明
--------------------------------------------------------------------------------
dd -> 'dd ->'
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
' '
--------------------------------------------------------------------------------
[0-9]+ any character of: '0' to '9' (1 or more
times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of \1
--------------------------------------------------------------------------------
| OR
--------------------------------------------------------------------------------
. any character except \n
如果需要,修剪第一个空格。