regex - REGEXP_SUBSTR Oracle 不同于 regext.com
问题描述
我正在使用这个正则表达式
#([^#\s]*)#
(在 C# 和regexr.com 中工作正常)
但REGEXP_SUBSTR
在 Oracle 中,我得到了不同的结果。
SELECT REGEXP_SUBSTR('test #2 #123456789# #blabla #1','#([^#\s]*)#') from dual
甲骨文 =#2 #
C#/regexr.com =#123456789#
有人知道如何在 Oracle 中获得相同的结果吗?
解决方案
您可以使用SUBSTR
和的组合INSTR
来获得所需的结果
询问
WITH strings (str_val) AS (SELECT 'test #2 #123456789# #blabla #1' FROM DUAL)
SELECT SUBSTR (str_val,
instr(str_val, '#', 1,2),
instr(str_val, '#', 1,3) - instr(str_val, '#', 1,2) + 1)
FROM strings;
推荐阅读
- python - 在 Google Colab 中打开 .npy 或 .txt 文件
- java - Maven:打包复制文件夹后将WEB-INF复制粘贴到根目录
- react-native - 为什么由于哈希不正确而无法使用 glog?
- php - php下拉列表排序
- python - 错误 - TypeError:“int”对象不可下标
- javascript - Nginx:我想http2_push一个目录下的所有js和css文件怎么办?
- kotlin - 如何在插件中使用 Gradle Kotlin DSL?
- angular - Angular中的字体样式很棒
- dart - 颤动中有2个孩子,一列和一个图像布局的行
- excel - 错误 424 - 将单元格值复制到另一个工作簿