问题标签 [regexp-substr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - Regexp_substr 查找与一组字符不匹配的字符串
我有一个像mystr = 'value1~|~value2~|~ ... valuen"
. 我需要它作为一列分隔在这样的行上:
我正在尝试这个
问题是它~|~
不被视为一个组,如果我将 ~ 添加到字符串中的任何位置,它就会被分开;() 也被视为分隔符。
非常感谢任何帮助!谢谢!~|~
sql - SQL - 从字符串中接收多个模式
假设我有一个 2 列的表,在第 1 列。是一个帐号,在第二个个人客户 ID 中,但在一个长字符串中。在该字符串中可能有几个不同的客户端 ID,每个都以“ID”开头
我怎样才能在单行中收到这样的结果?:
使用regexp_substr(upper(note), 'ID[[:digit:]]{4}')
它只返回整个字符串中的第一个 ID。
任何循环或正则表达式有什么技巧吗?
plsql - regexp_substr- 提取多行文本中的数字
我在 oracle 表中有一个字符串,如下所示。我需要在文本“每月税额(财产税):”之后提取金额。每个项目都在新行中,与项目对应的金额在描述旁边的同一行中提到。我尝试开发一些 regexp_substr 函数但没有取得多大成功。请帮助解决这个问题。
regex - POSIX ERE 正则表达式查找重复的子字符串
我有一组包含最少 1 个和最多 3 个值的字符串,格式如下:
我正在尝试编写一个正则表达式,以便我可以找到在同一个字符串上重复的值,所以如果你有123;456;789
它会返回null
但如果你有123;456;456
它会返回456
并123;456;123
返回123
我设法写了这个表达式:
它的工作原理是在null
没有重复值时返回,但它不完全返回我需要的值,例如:对于123;456;456
它返回的字符串和它返回123;456;456
的字符串123;123;123
123;123
我需要的是只返回([0-9]+)
表达式部分的值,从我读过的内容来看,这通常是使用非捕获组来完成的。但是要么我做错了,要么 Oracle SQL 不支持这一点,就好像我尝试使用?:
语法结果不是我期望的那样。
关于如何在 oracle sql 上进行此操作的任何建议?此表达式的目的是在查询中使用它。
编辑:
实际上根据https://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_re.htm
Oracle 数据库实现了符合 POSIX 扩展正则表达式 (ERE) 规范的正则表达式支持。
根据https://www.regular-expressions.info/refcapture.html
POSIX ERE 不支持非捕获组
oracle - REGEXP SUBSTR,其中分隔符是 2 个或更多字符的组合
我想使用由 2 个或多个字符组合而成的分隔符来搜索字符串。
请在下面找到我尝试过的查询:
所需输出:
输出:
我知道使用用户定义的函数 [with INSTR+SUBSTR] 很容易,但是我正在寻找 REGEXP_SUBSTR 的答案和解释。
提前致谢。
sql - Oracle SQL 语句在 '\' 和 '#' 之间选择字符串
我在 Oracle 11g 数据库中有一个表,其中有一个名为 REPORT 的列。我正在尝试编写一个 select 语句,它将在下面显示所需的结果。我需要选择“\”和随后出现的“#”之间的字符串。我认为这可以使用 regexp_substr 函数来完成,但我没有取得任何成功。我有太多上周尝试失败的例子,无法在此处发布。任何帮助,将不胜感激。
REPORT_COLUMN
所需结果:
oracle - REGEXP 捕获由一组分隔符分隔的值
我的列值如下所示:[只是我创建的一个示例]
{BASICINFOxxxFyyy100x} {CONTACTxxx12345yyy20202x}
它可以包含 0 个或多个数据块...我创建了以下查询来拆分块
但是,我想进一步将输出拆分为 3 列,如下所示:
分隔符始终是标准的。我未能创建一个漂亮的查询来给我想要的输出。
提前致谢。
oracle - 拆分为行和列 Oracle
我正在创建一个基于链的拆分返回表类型对象的函数,查询如下:
结果如下:
我需要得到以下结果
希望您的宝贵帮助!!!
regexp-substr - regexp_substr 从 Oracle SQL 中的句子末尾获取最后两个单词
我有一个字符串:ON P6B 0B8
。我需要的输出是:P6B OB8
.
我可以用它regexp_substr('ON P6B 0B8','[^ ]+$',1)
来获取句子末尾的最后一个单词。但是我如何得到空格后面的单词——从末尾数的第二个单词?
我如何告诉regexp_substr
从后面看时不要停在第一个空格,而是继续前进直到它碰到第二个空格?
我很难理解 Oracle regexp 提供的元字符。
sql - Oracle sql 连接表基于一个表包含另一个表的字段中的单词
我正在尝试将两个表连接在一起,如下所示。
我只想加入表 A 中的 field1 具有与表 B 中的单词完全相同的单词,但不是另一个单词的一部分。所以 GO 和 OK GO 会加入成功,FOREGO 将不允许加入。
我有一种预感,我会使用 reg_exp 来完成连接,但我不知道如何实现。