【发布时间】:2020-01-29 11:59:20
【问题描述】:
从一个公开的例子中我们得到了这个:
select email, regexp_replace( email, '@.*\\.(org|gov|com)$')
from users limit 5;
email | regexp_replace
-----------------------------------+----------------
DonecFri@semperpretiumneque.com | DonecFri
mk1wait@UniOfTech.org | mk1wait
sed@redshiftemails.com | sed
bunyung@integermath.gov | bunyung
就我而言,我有这样的字符串:
ABCD01E002C
ABCSDD01E12C
我想在 E 字符之后检索 1 到 9 之间的数字
所以上面例子的输出分别是2和12
【问题讨论】:
-
试试
REGEXP_SUBSTR(email, 'E0*([1-9][0-9]*)', 1, 1, 'e') -
@MiguelSantos wiktor 更新了他的评论,我想你试试最新的它会起作用
-
它确实有效,您能否制定一个正式的答案,以便我可以将其标记为正确? @WiktorStribiżew
-
好吧,regex101.com/r/525m5D/1 表明它应该适用于
ABCD01E002C -
米格尔你已经接受了答案,但你是说它还不行吗?
标签: regex amazon-redshift