Oracle中使用正则表达式按分隔符分割字符串

2023-12-03

我需要在 Oracle 中编写脚本,在查询中按 / 字符拆分字符串“BP/593/00294”和“NC//12345”,以便在单独的列中包含值。

我在想这样的事情:

select regexp_substr(mystr, '[^/]+') as col1, 
regexp_substr(c.usertext21,'[^/]+',1,2) as col2
from mytable

但在 col2 中,我从第二个字符串中丢失了空字符串值。 我需要保留两个字符串中的每个值。这应该是结果:

<table>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<tr>
  <td>BP</td>
  <td>593</td>
  <td>00294</td>
</tr>
<tr>
  <td>NC</td>
  <td></td>
  <td>12345</td>
</tr>
</table>

任何帮助,将不胜感激。 谢谢


您可以捕获 0 个或更多字符,除了/在字符串的开头或之后/:

select 
  regexp_substr('BP/593/00294', '(^|/)([^/]*)') as col1,
  regexp_substr('BP/593/00294', '(^|/)([^/]*)', 1, 2, null, 2)  as col2,
  regexp_substr('BP/593/00294', '(^|/)([^/]*)', 1, 3, null, 2)  as col3
from dual

enter image description here

See the 在线演示.

Details

  • (^|/)- 捕获组 1:字符串开头或/
  • ([^/]*)- 捕获组 2:任何 0 个或更多字符,除了/.

请注意2提取第 2 组值的参数。请参阅正则表达式演示.

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

Oracle中使用正则表达式按分隔符分割字符串 的相关文章

  • 正则表达式不匹配

    我正在尝试以下代码 d byte x01 x00 x00 x00 x00 x00 x00 x00 x00 x00 x00 x80J x13 x80SQ x80L xe0 x80 x92 x80L x80H xe0 r regexp Must
  • Notepad++ 正则表达式代码提取行尾

    我有一个需要捕获的源代码 整个文件只有一行 但我无法捕获我需要的数据 allow ok secret 4326dwsaddsafsd286435dsfs754 现在我需要捕获每次都会变化的数据 4326dwsaddsafsd286435ds
  • count(distinct) over (partition by... 在 Oracle SQL 中不起作用

    我想数一下distinct day number过去 30 天 但是 distinct 函数不能与over 如果我删除distinct 它会给我总数day number but day number可以有很多重复的 所以这就是为什么我想添加
  • 如何在oracle日志中打印http请求

    我们正在使用以下方式调用外部 URLUTL HTTP方法并设置 HTTP 标头 例如basic authentication keep alive content soap action所以我需要打印我设置为标题的内容 DBMS OUTPU
  • 从文件中删除包含非英语 (Ascii) 字符的行

    我有一个文本文件 其中包含来自不同语言的字符 例如 中文 拉丁文等 我想删除包含这些非英语字符的所有行 我想包含所有英文字符 a b 数字 0 9 和所有标点符号 我如何使用 awk 或 sed 等 unix 工具来完成此操作 Perl 支
  • 为什么 C# 编译的正则表达式比等效的字符串方法更快?

    每次我必须对字符串执行简单的包含或替换操作 其中我正在搜索的术语是固定值 时 我发现如果我获取示例输入并对其进行一些分析 则使用编译的正则表达式是几乎 总是比使用 String 类中的等效方法更快 我尝试过比较多种方法 hs是要搜索的 干草
  • 如何编写正则表达式来匹配不包含单词的字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 正则表达式匹配不包含单词的字符串 https stackoverflow com questions 406230 regular expression to match string not con
  • 在 Google Doc Apps 脚本中使用 RegEx 来替换文本

    Google 文档中有一行带有时间和日期戳 我已经使用正则表达式编写了以下代码 将该行替换为当前时间 日期 但我不确定为什么这不起作用 function UpdateDate var document DocumentApp getActi
  • 将 Readability 公式转换为 python 函数

    我得到了一个名为 FRES Flesch 阅读轻松测试 的公式 用于衡量文档的可读性 我的任务是编写一个返回文本 FRES 的 python 函数 因此我需要将这个公式转换成Python函数 我已经根据我必须展示的答案重新实现了我的代码 以
  • 从 LEFT OUTER JOIN 中删除重复项

    我的问题非常类似于限制 LEFT JOIN https stackoverflow com questions 757957 restricting a left join 有一个变体 假设我有一个表 SHOP 和另一个表 LOCATION
  • 替换字符以制作国际字母(变音符号)

    我正在尝试模仿国际键盘的工作方式 如果您使用其中之一死钥匙 http en wikipedia org wiki Dead key后面跟着一个字母 它将它们组合成相应的字符 例如 输入 a会导致 and o结果是 etc 我似乎无法让我的正
  • Preg_split 用逗号,忽略括号,PHP

    我必须分割一个字符串 并且我想避免用括号内的逗号分割它 那么我该如何实现呢 Example string string1 sString1 sString2 ssString1 ssString2 string2 string3 resul
  • 当 vbscript.regexp 工作时,VBA RegExp 会导致编译错误

    我正在为 Outlook 2013 的 VBA 编写一个脚本 它使用正则表达式 我发现的每个示例似乎都使用Set regex New RegExp创建一个正则表达式对象 当我尝试这个时 我得到了编译错误 用户定义类型未定义 我设法使用正则表
  • 如何在oracle sql查询中提取括号之间的字符串

    我正在尝试从字符串中提取括号之间的值 我怎样才能做到这一点 例如 我有这个字符串 Gupta Abha 01792 我想得到括号之间的结果 即 01792 我正在尝试编写这样的查询 select substr Gupta Abha 0179
  • 使用正则表达式删除/匹配字符串之间的引号?

    我有以下一组数据 Production App Old Service Name ProdApp Slave1 Production App Old Service Name ProdApp Slave2 Production App Ol
  • 使用西里尔字母的正则表达式

    我有一个用于文本区域字段中字数统计的 jQuery 函数 此外 它排除所有用 三重括号 封闭的单词 它对于拉丁字符效果很好 但对于西里尔字母句子有问题 我认为错误部分与正则表达式有关 field val replace g match b
  • 实体框架与oracle数据库的连接

    我使用的是 Entity Framework 6 1 版本和 oracle 11 我是实体框架的新手 任何人都可以建议连接 oracle 的先决条件是什么 任何更改都需要在 web config 中进行 在web config中 默认它是与
  • Oracle中“NUMBER”和“NUMBER(*,0)”相同吗?

    在甲骨文中文档 http docs oracle com cd B28359 01 server 111 b28318 datatype htm i22289据说 数字 精度 小数位数 如果未指定精度 则该列将存储给定的值 如果 未指定比例
  • Drupal URL 重写冲突

    我已将 Drupal 7 安装在站点的根目录中 htaccess 文件自安装以来未曾修改过 不过 我还在子目录中设置了 CodeIgniter 我在 CI 目录中创建了一个 htaccess 文件 其中包含从 url 中删除 index p
  • 使用 xPath 还是正则表达式?

    下面的两种方法都有相同的目的 扫描帖子的内容并确定是否至少有一个 img 标签具有包含正在测试的 关键字 的 alt 属性 我是 xPath 的新手 更愿意使用它 具体取决于该方法与正则表达式版本相比的昂贵程度 方法 1 使用 preg m

随机推荐

  • 流数组类型在该类型的子集上失败

    我有一个在很多不同地方使用的函数 因此它的类型非常广泛 export const stringToArrayFn accessor Function string boolean Object Array
  • 禁用浏览器垂直和水平滚动条

    是否可以使用 jQuery 或 javascript 禁用浏览器垂直和水平滚动条 如果您需要动态隐藏和显示滚动条的可能性 您可以使用 body css overflow hidden and body css overflow auto 在
  • 为什么接口中的所有字段都是隐式静态和最终的?

    我只是想理解为什么接口中定义的所有字段都是隐式的static and final 保留字段的想法static对我来说很有意义 因为你不能拥有接口的对象 但为什么它们是final 隐含地 任何人都知道为什么 Java 设计者选择在界面中创建字
  • 结合 JQuery 和 AngularJS

    基于AngularJS文档 https docs angularjs org api ng function angular element It says 如果 jQuery 可用 则 angular element 是 jQuery 函
  • Android API 连接到 Wifi 网络

    我完全迷失在 WiFi API 的版本中 我想以编程方式连接到已配置的 WiFi 网络 正如这个问题中所描述的 以编程方式连接到 Android wifi 网络 我在 Android 10 上进行开发 想要编写也与旧版 Android 版本
  • 使用 Bootstrap 将侧边栏分为主要内容周围的顶部和底部

    每当屏幕尺寸接近移动设备分辨率时 我尝试使用 Bootstrap 将左对齐侧边栏分成两个不同的部分 这篇 StackOverflow 帖子设置我想要做的事情 但从下图可以看出 当我尝试让侧边栏显示为一个连接部分时 我遇到了列换行问题 下图显
  • 如何匹配NLTK CFG中的整数?

    如果我想定义一种语法 其中一个标记将匹配一个整数 我如何使用 nltk 的字符串 CFG 来实现它 例如 S gt SK SO FK SK gt SELECT SO gt d FK gt FROM 创建一个数字短语 如下所示 import
  • 初学者Python“无”问题

    我刚刚开始使用 python 自从我开始了一个新的计算器项目以来 pyCharm 在所有内容之后都没有吐出任何内容 我不确定是什么导致了这个错误 如果我能在这里得到一些帮助 我将不胜感激 这只是我展示的主要功能 这是代码 def main
  • 为什么 IEEE754 标准中除以零会产生无限值?

    我只是好奇 为什么在IEEE 754任何非零浮点数除以零都会得到无限值 从数学角度来看这是无稽之谈 所以我认为此操作的正确结果是 NaN 如果 x 是实数 则当 x 0 时 函数 f x 1 x 没有定义 例如 函数 sqrt 未定义为任何
  • 如何从 Jenkins 的提交消息中获取 JIRA 问题号

    我使用 Gitlab 进行源代码管理 使用 jenkins 进行 CI 作业 使用 JIRA 进行问题跟踪 一旦我在 gitlab 中提交了一个问题号 例如 Project 123 编辑的演示文件 我就有一个触发构建的 jenkins 钩子
  • 如何用教义随机选择

    这是我在数据库中查询某些单词的方法 query qb gt select w gt from DbEntities Entity Word w gt where w indictionary 0 AND w frequency gt 3 g
  • url 作为参数的 Mod-安全例外规则 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我是 mod 安全性的新手 并且能够将其安装在我的服务器上 然而 安装后托管的网站就崩溃了 跟踪问题后 我发现它不允许我在 php 代码中将 url 作为参数传递 例如 xyz ph
  • OpenCV 鼠标回调函数的返回值

    在 OpenCV 中 我想将像 Point x y 这样的点位置返回到我在鼠标回调函数中单击图像的 main 函数 除了设置全局变量之外还有什么办法吗 我不想将所有代码都写在 on mouse 函数中 Thanks 为了在那里扩展萨菲尔的想
  • Kotlin 变量名前的 Kotlin 星号运算符或 Kotlin 中的 Spread 运算符

    我想知道 Kotlin 中变量名之前的星号到底做什么 我看到了这个 args in a Spring Boot Kotlin 示例 SpringBootApplication open class Application Bean open
  • 更改周视图中日标题的格式

    如何更改 Fullcalendar gt weekview 中日期的格式 现在它说 Sun 7 24 Mon 7 25 Tue 7 26 Wed 7 27 Thu 7 28 Fri 7 29 Sat 7 30 我想切换月份和日期 所以它说
  • Jquery 检查 ajax post 是否成功

    如何定义 ajax post 的成功和失败函数 文档在这里 http docs jquery com Ajax jQuery ajax 但是 总而言之 ajax 调用需要很多选项 你正在寻找的是错误和成功 你可以这样称呼它 ajax url
  • 在Android应用程序中计算谷歌地图中多边形覆盖的面积

    我有一系列Location GeoPoint在我的 Android 应用程序中形成多边形的对象 我想知道有没有办法计算它所覆盖的面积 到目前为止 我正在考虑建立一个网络服务 当发布坐标列表时 使用 JS Google Maps API v3
  • Java ListChangeListener WasUpdated() 不起作用

    当 observableList 中名为 EventShowable 的对象被修改时 我想触发一些代码 这是我的代码 mainApp getCalendars get i getListEvents addListener new List
  • 为docker生成.env.exmaple文件

    我想生成一个 env和一个 env example文件并在 docker 构建期间将其推送到 docker 镜像Dockerfile 问题是 env example文件未复制到 docker 映像 我认为它适用于普通环境 因为我复制了 en
  • Oracle中使用正则表达式按分隔符分割字符串

    我需要在 Oracle 中编写脚本 在查询中按 字符拆分字符串 BP 593 00294 和 NC 12345 以便在单独的列中包含值 我在想这样的事情 select regexp substr mystr as col1 regexp s