【发布时间】:2021-09-19 12:24:28
【问题描述】:
如何捕获以下所需的捕获?我这样做了 Regex ONE.*(ONE.) 但它捕获了整个字符串。
记事本++:
1 ONE;TWO;THREE;ONE;FOUR;FIVE
2 TEST
3 TEST
4 TEST
5 TEST
所需捕获:如果 ONE 有 1 个匹配项,则返回 ONE;TWO;THREE,否则如果 ONE 有两个匹配项,则返回 ONE;FOUR;FIVE。
【问题讨论】:
-
嗨@Ryszard Czech,非常感谢你的回复,你能把它转换成regexpal.com吗?它在与我正在使用的兼容的正则表达式中不起作用……谢谢。
-
从下拉框中选择 PCRE 选项。
-
嗨@Ryszard Czech 是的,当我更改为 PCRE 时它可以工作,但是当我在 Toad SQL 中执行该模式时,它不起作用,我不知道为什么? SELECT REGEXP_SUBSTR(Column,' .*\KONE(?:(?!ONE).)*') as NML from tbl
-
试试
SELECT REGEXP_SUBSTR(Column, '.*(ONE.*)', 1, 1, NULL, 1) -
嗨,Ryszard Czech,它有效。谢谢。