我有一个数据列,其中包含与此类似的子字符串:
'This is a string with ID=123 contained inside'
我需要将ID=123
替换为另一个固定字符串ID=1
我有一个正常工作的REPLACE调用,可以正确地交换值,但这仅适用于已知的原始ID号。我可以通过使用一些substr magic知道数字的位数使其工作,但是,id号可能有任意数字的位数,所以我在想正则表达式。
任何有关正则表达式magix的帮助都可以获取整个ID=999
子字符串,无论多少位数都非常有用。
感谢
答案 0 :(得分:0)
尝试搜索
ID=\d*
如果您需要保留第一个数字,请尝试搜索
ID=(\d)\d*
并替换为
ID=$1
答案 1 :(得分:0)
尝试\ d +并移动分组以包围整个子句:
select regexp_replace('This is a string with ID=123 contained inside', 'ID=(\d+)', 'ID=456') rep from dual;
REP
---------------------------------------------
This is a string with ID=456 contained inside