regex - oracle正则表达式从字符串中提取十进制数
问题描述
我正在尝试从随机字符串中提取十进制数。如何使用 regex_replace 函数做到这一点?(可选)我想为负整数保留负号。
例子:
输入:
'text abc023.46'
'-123.12abc'
输出:
023.46
-123.12
解决方案
使用REGEXP_SUBSTR
:
SELECT REGEXP_SUBSTR(col, '-?\d+(\.\d+)?')
FROM yourTable;
此模式还使小数部分成为可选的。
推荐阅读
- javascript - 在javascript中获取变量名
- java - 优化 ArrayList 中的项目顺序
- highcharts - 无效数据时的Highcharts Heatmap背景颜色
- travis-ci - github repo 上 Travis CI 徽章的自定义标签
- javascript - 从 iframe 内部 getElementsByTagName
- python - 在 Keras 中创建自定义指标以进行序列到序列学习
- perl - Perl 中的排序命令 - 有人可以解释这个脚本中发生了什么吗?
- angular - 使用 RxJS Observables 排队 - Angular 5
- python - 使用数组的 Python Numpy 递归公式
- ios - 从 react-native-fcm 迁移到 react-native-firebase 时出错