use*_*262 -1 regex sql string oracle
我试图理解下面的内容,但似乎没有得到正则表达式的最后一部分,其中包含{1,40}. 总的来说,我知道模式试图匹配特殊字符和其他东西({1,40})
regexp_like(COLUMN,'^['||UNISTR('\0020')||'-'||UNISTR('\0060')||UNISTR('\007B')||UNISTR('\007D')||UNISTR('\007E')||UNISTR('\00C0')||'-'||UNISTR('\00DF')||']'||'{1,40}$')
Run Code Online (Sandbox Code Playgroud)
regexp_like() 检查字符串是否与作为第二个参数提供的正则表达式匹配。
你的正则表达式看起来像^[...]{1,40}$.
^是字符串的开头和$结尾,因此整个字符串必须与正则表达式匹配。
[...]是一个字符类,包含一堆字符代码点。字符串的所有字符都必须属于该列表(禁止使用任何其他字符)。您需要检查它们对应的内容:unicode.org是您的朋友。对于第一个代码点:
\0020 space
\0060 grave accent
\007B left curly bracket
Run Code Online (Sandbox Code Playgroud)
{1,40}是一个量词:字符串的长度必须至少为 1,最多为 40。