oracle10g中,如何查询正则表达式匹配指定字符串的匹配个数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle10g中,如何查询正则表达式匹配指定字符串的匹配个数?相关的知识,希望对你有一定的参考价值。

参考技术A
可以使用一些比较巧妙的方法。
如:
统计一个字符串中出现另一个字符串的次数;
[TEST2@orcl#25-4月
-11]
SQL>select
(length('abcabc')-length(replace('abcabc','ab')))/length('ab')
from
dual;
(LENGTH('ABCABC')-LENGTH(REPLACE('ABCABC','AB')))/LENGTH('AB')
--------------------------------------------------------------
2

您如何匹配 Sumologic 正则表达式查询中的报价?

【中文标题】您如何匹配 Sumologic 正则表达式查询中的报价?【英文标题】:How do you match a quote in a Sumologic regex query? 【发布时间】:2021-11-05 15:39:45 【问题描述】:

我在匹配单引号 ' 或将其放入 Sumologic 查询中的字符组时遇到问题。

例如,我的查询可能看起来像

_sourceCategory="some_category" | where url matches /^\/stuff\/[\w']+\/.*/ and other_field="some_value"

这样做的问题是 Sumologic 会将单引号后面的字符全部变为红色,就好像它是字符串的开头一样。 我试图在我的角色组中像[\w\']+ 一样逃避它,但它不起作用。 我在网上找不到任何关于此的资源。我发现的最接近的是

https://help.sumologic.com/05Search/Get-Started-with-Search/Search-Basics/Reference_a_Field_with_Special_Characters

但我不确定如何将其与我的查询类型相对应。

【问题讨论】:

【参考方案1】:

看来 where 子句中的 Sumologic uses RE2 和 in RE2,可以使用十六进制字符代码匹配任何字符。因此,您可以使用\x27 匹配' 字符:

| where url matches /^\/stuff\/[\w\x27]+\/.*/

查看 Go 语言(使用 RE2 正则表达式库)online regex demo。

【讨论】:

以上是关于oracle10g中,如何查询正则表达式匹配指定字符串的匹配个数?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle10g新特性——正则表达式 - 转

oracle SQL 正则表达式

oracle 正则表达式

oracle 如何查询字段第一位不是字母,条件如何写

2015.3.20 Oracle使用正则表达式

Oracle 正则表达式匹配