正则表达式:从双引号中提取值

时间:2018-05-28 10:05:40

标签: regex

很难找到正则表达式解决方案。

数据库" product_id"中的值可以是任何一种格式:

{"value":"e19f2b3e-9919-421e-a125-95fdd989459d"}
{"itemUuid":"8fe2a09e-aade-485c-b847-e83a780f1b8e"}

需要编写正则表达式捕获两种情况,因此结果将是:

e19f2b3e-9919-421e-a125-95fdd989459d
8fe2a09e-aade-485c-b847-e83a780f1b8e

我已经做过的事(在Vertica语法中)是

 trim(TRAILING '"}' from  regexp_substr(me.value, '[0-9].*'))

如果它以字母字符开头,则不会捕获id。

1 个答案:

答案 0 :(得分:-1)

您可以使用RegEx (?<=:").+(?="})

  • (?<=:")确保您的比赛前:"

  • .+至少匹配任何字符

  • (?="})确保您的比赛结束后"}

Demo.