我有一个问题:
select ITEM_ID from system_items where id=4020;
我想要一个正则表达式,它将上述查询作为输入并匹配模式"id="
并返回4020
。
如果您有任何建议,请与我们联系,因为我一直在REGEXP_SUBSTR
Oracle
尝试使用,但无法获得。
答案 0 :(得分:0)
这应该这样做
/id=(\d+)/
id is literal match
() are used for making the capture groups
\d is more numbers
+ ensures 1 or more
答案 1 :(得分:0)
REGEX_SUBSTR
不允许像(?<=id=\s*)\d+
这样的后卫,所以我怀疑你需要在两个操作中执行此操作。首先获取id=4020
,然后删除id=
。
这样做的一种可能方式是:
REGEXP_SUBSTR(REGEXP_SUBSTR(a, 'id=\s*\d+'), '\d+')