【发布时间】:2020-04-26 10:20:27
【问题描述】:
我试图理解以下内容,但似乎没有得到具有{1,40} 的正则表达式的最后一部分。总的来说,我知道该模式会尝试匹配特殊字符和其他内容({1,40})
regexp_like(COLUMN,'^['||UNISTR('\0020')||'-'||UNISTR('\0060')||UNISTR('\007B')||UNISTR('\007D')||UNISTR('\007E')||UNISTR('\00C0')||'-'||UNISTR('\00DF')||']'||'{1,40}$')
【问题讨论】:
-
它是一个量词。前面的标记(这里是一个字符类)将重复 1 到 40 次。
-
'||'在 {1,40} 之前推迟了我,所以我无法确认我的理解。对我来说,这似乎是一个 OR 条件。那么这仍然是前面字符类的量词吗?我不是想挑战,但我仍然有这个疑问。
-
||是 SQL 字符串连接运算符 - 它不是正则表达式的一部分。 -
||是 Oracle 中的字符串连接。"[a-z]"||"{1,40}"相当于 Java 中的"[a-b]" + "{1,40}"或 PHP 中的"[a-b]" . "{1,40}" -
太棒了。我现在完全明白了。谢谢大家的快速解决