问题标签 [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.

0 投票
1 回答
1212 浏览

regex - 如何使用 regexp_substr 从字符串中提取所有主题标签

我需要一个正则表达式模式,它从表中的推文中提取所有标签。我的数据是

它只带来#HashTag1 而不是#SecondHashtag

我需要像 #HashTag1 #SecondHashtag 这样的输出

谢谢

0 投票
2 回答
333 浏览

sql - ORACLE:SQL REGEXP_SUBSTR 返回最后一个反斜杠 (/) 之后的列值

ORACLE:SQL REGEXP_SUBSTR 返回最后一个反斜杠 (/) 之后的列值

示例: https://test/test/test/test/getTest/1234 预期值:1234

0 投票
1 回答
326 浏览

sql - 当我在 argos 报告中运行此查询时,我收到此无效字符错误

0 投票
2 回答
176 浏览

sql - Oracle 中的正则表达式

我正在尝试从包含药品目录的 Oracle 数据库中的字符串中提取计量单位。我一直在使用 regexp_substr 从字符串中获取药物浓度

IE。

查询输出:

任何人都知道我如何200MG/mL在 Oracle 中使用 regexp_substr() 从下面的字符串中提取出来?

0 投票
3 回答
84 浏览

sql - REGEXP 插入特殊字符,而不是删除

我将如何在缺少它的两个字段周围加上双引号?我可以在一个语句中使用 INSTR/SUBSTR/REPLACE 来完成它吗?

请建议!谢谢你。

0 投票
2 回答
1760 浏览

postgresql - Postgresql regexp_substring

我有一个文字

你能帮我写一个 sql 查询来获得修订的前 6 个字符(333617)和 RevDate 的日期(10-04-2017 11:43:47)吗?提前致谢。

我试图修改为

没运气

0 投票
2 回答
1719 浏览

regex - 如何在 Oracle 11g regexp_substr 函数中使用两个分隔符拆分字符串

我怀疑使用分隔符拆分字符串。

首先拆分基于,分隔符选择那些拆分的字符串应该基于-delimiter拆分

我的原始字符串:UMC12I-1234,CSM3-123,VQ, 预期输出:

每个值都作为行值

我试过这个选项

-- 基于 , 分隔符分割

输出是:

我怎样才能得到我的预期输出?(需要再次拆分 - 分隔符)

0 投票
0 回答
64 浏览

regex - Oracle11g 正则表达式非捕获组

多币种 REGEXP_SUBSTR Oracle11g

第一次在这里发布问题,所以我希望我不要把它弄得太糟糕。

我创建了一个查询,可以提取各种客户订单详细信息,包括收费价格、产品标价大单,即通过提醒电子邮件发送给客户的价格

使用 REGEXP_SUBSTR,我可以匹配电子邮件 HTML 内容中各种货币的所有价格,但我遇到了某些缺少逗号或句点的价格货币缩写组合的输出问题:即 123 kr、999 Pesos 或 1 050 Kč。

如何使上述情况与其他价格格式的输出相匹配?

我从 Gary 的回答中汲取了很多“灵感”:Regex currency validation

数据源 HTML

所需值从 开始<!-- START Price Exp.. -->

正则表达式

匹配所有

  • 1.4">$19.99(一些随机文本)
  • 1.4">20.00 雷亚尔
  • 1.4">20.00€</li>
  • 1.4">€25,99
  • 1.4">£15.99
  • 1.4"> 123 克朗
  • 1.4"> 1234 英尺
  • 1.4"> 999 比索

输出

  • 19.99
  • 20.00
  • 20.00
  • 25.99
  • 15.99
  • 123 克朗
  • 1234 英尺
  • 999 比索

最后三个示例不应有空格和/或数字后面的任何字母。

如何从输出中删除它们但保留数字?


我意识到这可能是由于我拥有多个捕获组,所以我看到了三个潜在的解决方案:

  1. 改进正则表达式以消除组的过度使用(我不够熟练,无法弄清楚这一点)......
  2. 以某种方式编写导致所需输出的正则表达式非捕获组。我很遗憾地了解到 (?:) 根本行不通。
  3. 利用 SQL 函数参数从 REGEXP_SUBSTR 中选择子表达式。但是,这似乎不允许输出中有多个子表达式。

SQL

这是带有几个嵌套 REPLACE 函数的完整语句,用于将输出格式化为系统格式。

我知道这是错误的语言,因此它不会提供 100% 准确的测试,但我发现它在针对数据库运行之前非常有帮助。我总是乐于接受更好的工具建议!

我在这方面花费的时间比我引以为豪的要多,因此我们将不胜感激任何帮助。

谢谢,尼克

0 投票
2 回答
370 浏览

oracle - Oracle 使用 regexp_substr 拆分消息

我需要拆分消息:

现在我对 Substr1/2/4 有了一些可行的解决方案

但是 Substr3 包含'='。我希望至少有 '.*.' 或者 ' * '

你能否给我一个提示如何在正则表达式中“排除”任何字符(例如'=')?

任何帮助深表感谢!

谢谢

已解决见 SUBSTR3.1

0 投票
2 回答
81 浏览

regex - Oracle 11g 拆分字符串并将在 Update 语句中使用

我不知道如何在 Oracle 11g 中拆分字符串。

我的输入输入字符串是制造商名称。

如果制造商名称超过 30 个字符

  • 查找第一次出现的左括号 – “(”<br> 如果找到 查找下一个出现的右括号 – “)”<br> 将制造商名称的最后一个字符替换为笼代码字符
  • 如果未找到
    ,将制造商名称截断为 30 个字符

示例:
输入:
Arrow Industries International-MX7(4432)
输出:
Arrow Industries Interna(4432)

更新语句应该是

请帮忙