Oracle - 需要在给定字符串之间提取 59,432,000 $ 这样的钱

Oracle - need to extract money like 59,432,000 $ between given strings

我正在尝试对 return 子字符串进行正则表达式匹配。来自这个字符串:

TK 19120226477558So tien GD:+50,000,000

我想return结果:50,000,000

来自这个字符串:

TK 22010000631740 tai +5,854 VND vao 23:59 25/01/16;
    so du TK tai 08:01 26/01/16 la: 5,336,331 VND.ND: Lai tien gui KKH

我想要return结果:5,8545,336,331

感谢您的帮助!

下面SQL可以得到至少有一个逗号','的结果:

SELECT REGEXP_SUBSTR('so du TK tai 08:01 26/01/16 la: 5,336,331 VND.ND: Lai tien gui KKH', '\d{1,3}(,\d{3})+') FROM DUAL;

但是如果你想要得到的结果小于1000,比如'789',pattern('\d{1,3}(,\d{3})+')是不正确的。

它应该需要更复杂的模式。但是你的case规则不是很清楚