如何从Oracle中的正则表达式中提取组?

2023-12-11

我收到这个查询并想要提取括号之间的值。

select de_desc, regexp_substr(de_desc, '\[(.+)\]', 1)
from DATABASE
where col_name like '[%]';

然而,它给了我带有括号的值,例如“[TEST]”。我只想“测试”。如何修改查询来获取它?


REGEXP_SUBSTR 函数的第三个参数表示目标字符串中的位置(de_desc在您的示例中)您要开始搜索的位置。假设在字符串的给定部分找到匹配项,它不会影响返回的内容。

在 Oracle 11g 中,该函数有第六个参数,我认为您正在尝试使用该参数,它指示您想要返回的捕获组。正确使用的一个例子是:

SELECT regexp_substr('abc[def]ghi', '\[(.+)\]', 1,1,NULL,1) from dual;

其中最后一个参数1指示您想要返回的捕获组的编号。这里有一个link到描述该参数的文档。

10g 似乎没有此选项,但在您的情况下,您可以通过以下方式获得相同的结果:

select substr( match, 2, length(match)-2 ) from (
SELECT regexp_substr('abc[def]ghi', '\[(.+)\]') match FROM dual
);

因为您知道一场比赛在开头和结尾都会有一个多余的字符。 (或者,您可以使用 RTRIM 和 LTRIM 删除结果两端的括号。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从Oracle中的正则表达式中提取组? 的相关文章

  • 范围身份与当前身份

    经过大量研究后 我对应该在 sql 中使用哪个身份跟踪器有点困惑 据我了解 scope identity 将为我提供从任何表更新的最后一个 id 而 ident current 将返回指定表中的最后一个 id 因此 考虑到这些信息 在我看来
  • 在同一分区上应用多个窗口函数

    是否可以将多个窗口函数应用于同一分区 如果我使用的词汇不正确 请纠正我 例如你可以这样做 SELECT name first value over partition by name order by date from table1 但有
  • 私人消息系统。列出每个对话的最后一条消息

    可以说这是数据库结构 SELECT FROM pms where id to 1 or id from 1 这将返回他已接收或发送的所有消息 那么我如何检索最后一条消息each用户1可能进行的对话 PD 当两个用户之间存在一条或多条消息时
  • 在 SSMS 中创建架构

    我知道在 SQL 中创建模式非常容易 CREATE SCHEMA
  • 插入期间违反唯一约束:为什么? (甲骨文)

    我正在尝试在表中创建一个新行 表上有两个约束 一个是关键字段 DB ID 另一个是将值限制为字段 ENV 中的几个之一 当我进行插入时 我没有将关键字段作为我尝试插入的字段之一 但我收到此错误 unique constraint N390
  • 表与视图的性能

    最近开始使用一个数据库 其中的惯例是为每个表创建一个视图 如果您假设表和视图之间存在一对一的映射 我想知道是否有人可以告诉我这样做对性能的影响 顺便说一句 这是在 Oracle 上的 假设问题是关于非物化视图 实际上取决于视图所基于的查询以
  • Postgresql 在 where 子句中转义单引号 [重复]

    这个问题在这里已经有答案了 所以我尝试运行这样的脚本 select id from owner where owner name john s 我收到此错误 ERROR column john s does not exist 我也尝试过这
  • TSQL - 如何在 BEGIN .. END 块内使用 GO?

    我正在生成一个脚本 用于自动将更改从多个开发数据库迁移到登台 生产 基本上 它需要一堆更改脚本 并将它们合并成一个脚本 将每个脚本包装在一个IF whatever BEGIN END陈述 然而 有些脚本需要GO语句 以便 SQL 解析器在创
  • 如何中止触发器中的多行插入

    使用 SQL Server 2005 我已经声明了一个触发 AFTER INSERT UPDATE 的触发器 在这个触发器中 我使用 WHILE 和 CURSOR 在 INSERTED 表的行上循环 当我发现一行不满足特定条件时 我希望触发
  • Sequelize 中的 FOR SHARE 和 FOR UPDATE 语句

    当我们使用事务时 常规 SQL 查询可以包含 SELECT FOR SHARE 和 SELECT FOR UPDATE 语句 有没有办法用 Sequelize 设置相同的语句 我还没有找到这些选项 也许有一些技巧 需要什么 您可以在这里阅读
  • 将不规则时间序列拆分为规则月平均值 - R

    为了确定季节性对能源使用的影响 我需要将计费数据库中的能源使用信息与每月温度进行调整 我正在使用一个计费数据集 其中包含不同长度以及开始日期和结束日期的账单 并且我希望获得每个月内每个帐户的月平均值 例如 我有一个计费数据库 具有以下特征
  • 如何找到 Oracle 视图的基础列和表名称?

    这听起来应该很简单 但事实并非如此 我找不到任何 Oracle 元数据 视图可以提供 Oracle 视图列的基础列和表名称 我发现这样做的唯一方法是解析视图源 SQL 这与精确的科学相去甚远 为了解释我想要什么 请考虑我在 SCOTT 模式
  • Go SQL查询不一致

    我在执行查询时遇到一些非常奇怪的不一致 并且想知道是否有人知道原因 想象一下我有一个定义如下的结构 type Result struct Afield string db A Bfield interface db B Cfield str
  • 在 Spring Data JPA 的本机 SQL 查询中使用命名参数

    给出了针对 DB2 数据库运行的以下查询 但它在我的 Spring Boot 应用程序中返回以下错误 我研究过 COL 1 1001应该是某种命名参数或主机变量 DB2 但一直无法找到我正在尝试做的类似示例 我只用过 1使用设置参数 Que
  • 为什么调用 take() 方法时 Slick 会生成子查询

    I use Slick http slick typesafe com 1 0 0 RC1 我对表对象有这样的定义 object ProductTable extends Table Int String String String Dou
  • 如何在 Postgres 中将表从公共模式移动到其他模式

    Postgres 9 1 数据库包含公共模式中的表 yksus1 ykssu9 pgAdmin 显示了这些定义 如下面的代码所示 如何将这些表移至 Firma1 架构 Firma1 模式中的其他表具有对这些表主键的外键引用 对这些表的外键引
  • SQL Server:使用计算列批量插入表

    我尝试使用 bcp 将文本文件中的数据插入到具有计算列的 SQL Server 2016 表中 我的 bcp 命令 bcp Test dbo myFirstImport IN D myFirstImport txt f D myFirstI
  • SQL链接服务器查询非常非常慢

    我正在通过链接服务器从视图中提取大量数据 我使用的是 SQL Server 2012 链接服务器是 SQL Server 2008 我的选择语句是 SELECT INTO MY LOCAL TABLE FROM SELECT FROM LI
  • 如何将Excel文件导入到sql server 2008

    如何在不使用导入向导的情况下使用 sql 查询将 excel 文件导入到 sqlserver2008 Express Edition 中的新表中 谢谢 普拉迪 有一篇微软知识库文章列出了所有可能的方法 http support micros
  • 如何在没有可用行选择器的情况下为 APEX 21.1 REST 数据源设置数据配置文件

    我正在使用 APEX 21 1 并为 Web 服务创建了一个 REST 数据源 该服务以以下格式返回响应 1499040000000 A time stamp 0 01634790 A value etc 1499040000100 A t

随机推荐

  • 如何将响应数据设置到 TodayExtension 小部件中

    尝试从服务访问响应数据以显示到 TodayExtensions 小部件中 import Foundation struct MarketIndex Codable let indicesName String let indicesValu
  • 使用rest api时选择Azure事件中心的分区

    我正在尝试使用 python 和其余 API 向 Azure 事件中心发送消息 经过一些失败的实验后 我找到了工作代码 见下文 但我希望能够选择将事件发送到哪个分区 使用其余 API 是否可以实现这一点 如果可以 应该如何完成 user b
  • 参数分配默认值(=默认值)意味着什么? [复制]

    这个问题在这里已经有答案了 我试图理解前置条件函数并遇到 default 快速谷歌和扫描指南没有带来任何相关结果 有人可以向我解释一下吗 谢谢 func precondition condition autoclosure gt Bool
  • API-21 上的 Fragment 事务替换仍然落后

    我正在开发一个使用片段的应用程序 上周我的测试设备进行了棒棒糖更新 当我在棒棒糖设备上测试我的应用程序时 我发现 Fragment Transaction 的替换方法无法正常工作 尽管在 Kitkat 版本上一切正常 但它在 Lollipo
  • 嵌套 .pth 文件或从网络加载额外的站点目录

    目标是拥有一个通用目录 我可以在其中添加网络上的包 这些包会自动添加到sys path无需运行site addsitedir or sys path append每次我导入所述包时 有没有办法做到这一点 背景 我有一个小型用户网络 他们都需
  • 更改后无法保存 Jenkins 作业,没有可见错误

    前提 詹金斯 2 277 4Ubuntu 20 04 2 LTSopenjdk版本 11 0 11 2021 04 20 Problem 我有一份自由式工作 第一次保存所有已完成的更改 此时 保存 和 应用 按钮位于页面中底部 下次如果我进
  • NOPL在x86系统中做什么?

    NOPL在x86机器中的作用是什么 感觉好像什么也没做 但是为什么总是在汇编代码中呢 NOP是一个单字节 不执行任何操作 的操作 实际上是 无操作 NOPW NOPL 等相当于什么都不做 但会占用字和长字节 e g NOP 1byte op
  • 为什么/哪里出现错误“ 调用方法 Location.toString 的权限被拒绝”

    EDIT 我在回复评论时添加了澄清 在可能且有意义的地方 这些添加的修饰位于斜体字体样式 我已经在 Firefox 群组以及 SO 上发布了这个问题 关于 SO 至少有 25 个相关问题 其中一些代表性问题是 闪虫 跨域问题 只是一个谜 F
  • HTML / VBA 下拉菜单

    我在 VBA 和 HTML 例程方面遇到了一些问题 我必须从链接中选择https www betexplorer com next soccer 排序依据 下拉菜单并选择 联赛 项 我无法通过 VBA 执行此操作 这是我写的代码 Sub S
  • Python:哪个命令会增加 Windows 上打开文件的数量?

    关于这个主题似乎有很多问题 我似乎找不到我应该在 python 脚本中调用什么来增加打开文件限制 我知道我需要使用 setmaxstdio在 C 级别 但我不知道如何在 python 中调用它 有任何想法吗 尝试使用win32file fr
  • BSL(如何设计程序):如何将代码从单独的文件导入到定义区域?

    我对 BSL 有疑问 我想将我的代码分成单独的辅助文件并使用 require auxiliary function rkt 首先将分离的代码导入到定义区域 然而它并没有像想象的那样工作 虽然没有给出明确的错误 但似乎 DrRacket 根本
  • phpMailer gmail 垃圾邮件

    我使用 phpMailer 但有一个问题 当收件人是 Gmail 或 Yahoo 时 我的电子邮件最终会进入垃圾邮件文件夹 这怎么可能 代码是这样的 mail gt AddCustomHeader Reply to email protec
  • 获取数组中所有项目的密集排名和间隙排名

    我想使用 PHP 计算并存储数组中所有条目的密集排名和间隙排名 我想在 PHP 中执行此操作 而不是 MySQL 因为我每周处理 100 000 到 900 个组合的动态组合 这就是为什么我不能使用 MySQL 制作那么多表 我查找密集排名
  • 如何在matlab中对多张图像进行平均?

    我正在尝试从 1000 帧中获取平均图像 每个图像的大小为 512 x 512 像素 我从实验中获得的文件是 tiff 单元 16 数据 tiff 文件包含同一地点的 1000 帧 我正在考虑编写一个 m 文件 从 tiff 文件中读出 1
  • Shell 函数返回值不大于 255

    sum return 1 2 read a b sum a b echo 当我们传递 a 255 和 b 36 的值时 ans 将为 35 为什么 您要求 shell 返回该值 返回值不能大于 255 所以当你添加 a 255 和 b 36
  • java泛型加法

    我正在尝试实现提到的添加方法在通用稀疏矩阵加法问题中 class Matrix
  • MySQL 尝试截断表时出错

    我在截断 MySQL Server 5 5 上的表时遇到问题 我尝试截断的表有一列充当另一个表中的外键 The CREATE TABLE涉及的两个表如下 CREATE TABLE tbluser id int 11 NOT NULL AUT
  • 默认值、值和零初始化混乱

    我对值初始化 默认初始化和零初始化感到非常困惑 尤其是当他们针对不同的标准时C 03 and C 11 and C 14 我正在引用并试图扩展一个非常好的答案值 默认 零 初始化C 98 and C 03在这里使其更加通用 因为如果有人可以
  • Matlab互相关与相关系数问题

    我正在用 C 编写一个程序 但使用来自 matlab 的涉及互相关的数据 据我所知 当我对两组数据进行相关时 它会给出一个相关系数数字 表明它们是否相关 但我想使用互相关数据系列 当我在 Matlab 上运行互相关时 它给了我很多数据 绘制
  • 如何从Oracle中的正则表达式中提取组?

    我收到这个查询并想要提取括号之间的值 select de desc regexp substr de desc 1 from DATABASE where col name like 然而 它给了我带有括号的值 例如 TEST 我只想 测试