问题标签 [regexp-like]

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 回答
4208 浏览

mysql - RLIKE/REGEXP 和 LIKE 的等价性 - 匹配整个字符串与任意子字符串

我有两个疑问。

结果:15733

结果:15740

如您所见,like 返回的元素比 rlike 少 7 个。我有两个问题为什么会这样?陈述不一样吗?如果我正在寻找包含 let say 的名称,Result: Artist - Song [Live]或者Result: Artist- Song [Gold CD, Excplicit Lyrics]查询会返回正确的结果?

0 投票
1 回答
189 浏览

oracle - Oracle:查找除换行符以外的控制字符

我正在尝试列包含除换行符(A 的十六进制值)之外的任何控制章程的所有行。我尝试了以下方法,但这仅返回具有控制字符且没有换行符的结果。我真的想要作为控制字符的字符集,而不是换行符。字符集是否有“减号”操作,您可以从中排除特定的字符集?

有什么想法吗?谢谢!

0 投票
2 回答
56 浏览

oracle - 计算 regexp_like 返回的行数

我需要计算 Oracle 中 REGEXP_LIKE() 返回的行数。我怎么做?我在函数中尝试了以下查询:

0 投票
1 回答
7165 浏览

sql - sql - '^\d+\D+$' 在正则表达式中是什么意思

我是通过一个表情来的——

我确定表达式的作用,但请有人能解释一下到底'^\d+\D+$'指的是什么?

谢谢。

0 投票
1 回答
91 浏览

regex - 有没有一种简单的方法可以将 REGEXP_LIKE 应用于来自 Oracle 中先前查询的连接的路径?

我有一个查询,包括按先验连接;

结果如下

现在我想将正则表达式(Oracle 中的 REGEXP_LIKE)应用于路径列以通过“/KING/JONE”查找“/KING/JONES/SCOTT/ADAMS”。

有没有办法做到这一点?

提前致谢

0 投票
2 回答
9271 浏览

sql - Oracle:to_number() 在 WHERE 子句中结合 substr() 和 regexp_like()

我有一个包含“描述”列的表,该列具有以下值:

  • OPTestMachine
  • OP手动测试
  • OP1010

因此,要获取值的 select 语句将是

我想提取数字“1010”(或任何与 substr() 标准匹配的字符串)并尽可能将“找到的字符串”转换为整数。

所以我想出了这个:

结果很简单:“1010”

这对我来说效果很好。

现在对我来说最困难的部分:我想在 WHERE 子句中使用 substr()-result

像这样的东西:

当我这样做时,我收到错误“无效号码”。我想这是因为服务器解析 select 语句的顺序。

如果你能提供任何帮助,那就太好了!!

0 投票
0 回答
361 浏览

oracle - 使用函数更新 Oracle 表

我有以下查询,并想更新查询返回的表中的相应数据。是否可以使用带有 Oracle 函数的更新语句?如果是这样,怎么做?

两个查询都按预期返回记录。

下面的内容会起作用吗?

感谢您的任何回复

0 投票
2 回答
75 浏览

oracle11g - 检查指定的模式是否在整个字符串长度中重复

我正在尝试匹配类似于“12345@5.6;12345@45;12345@0.5”的模式。我正在尝试使用 Oracle(11g) REGEXP_LIKE 函数来做到这一点。这是我的代码-

设置服务器输出;

开始

if regexp_like(TRIM('12345@5.6;12345@45;12345@0.5'),'[^\d+@((\d+.\d{0,4})|(\d+));$]+' )

结尾;

对于上面的代码输出是“是”,这就是我想要的。但是对于像“12345@5.6,12345@45;12345@0.5”这样的模式,这段代码也返回“是”(而不是分号,我在“之后指定了逗号” 5.6')。

它基本上是在检查模式,但如果它发现至少一种这种模式,则返回 true,而不是检查剩余的字符串以确保一切都在模式中。

我只想要字符串的整个长度中指定类型的模式。如果某些东西超出模式,我需要返回“否”。

另一个例子:-假设有一个字符串'abc;abc;abc'我想检查模式'abc'是否不仅存在于字符串中,而且还在整个字符串中重复。这意味着代码应该为像'abc;bca;def'这样的字符串返回false,并且应该只为'abc;abc;abc'返回true。

需要明确的是,我只想检查指定的模式是否在整个字符串长度中重复,否则我想返回“否”,不只是看到至少一个存在并返回 true,而且我不知道这种模式存在多少次.

希望我清楚,请帮助。谢谢。

0 投票
2 回答
1052 浏览

oracle - Oracle regexp_like 字边界多字解决方法

如您所知,正则表达式的 Oracle POSIX 实现不支持单词边界。这里建议一种解决方法: Oracle REGEXP_LIKE and word boundary

但是,如果我愿意,它不起作用,例如选择所有 4 个字符串。考虑一下,例如:

这显然只选择了第一次出现。我不知道如何在 Oracle 世界中执行此操作,尽管通常它只是(\b)[\S]{4}(\b). 问题是大多数 woraround 依赖于一些不存在的功能,如环视等。

0 投票
3 回答
4733 浏览

sql - 数字范围之间的 REGEXP_LIKE

有人可以完成下面的代码吗?

我只想在 RMK 字段中的任何位置查找 6 位数字范围,介于 100000 和 999999 之间

当前的代码可以工作,但会带回任何带有数字的东西,所以我试图将其缩小到 6 位数字。我尝试了一些但没有运气。

编辑:如果存在 6 位数字,我想标记此字段。参考将始终只有 6 位数字,不多不少。但由于它是一个自由文本字段,它可以在任何地方并包含任何内容。我确实想要标记的示例输出:>abc123456markj< = flagged。我不想标记的输出:>Mark 23647282< 因为它找到的数字长度超过 6 个字符,我知道它不是有效的参考。