Sql 解码这个正则表达式
我试图理解下面的内容,但似乎没有得到正则表达式的最后一部分,它包含Sql 解码这个正则表达式,sql,regex,string,oracle,Sql,Regex,String,Oracle,我试图理解下面的内容,但似乎没有得到正则表达式的最后一部分,它包含{1,40}。总的来说,我知道该模式试图匹配特殊字符和其他内容(即{1,40}) regexp\u like()检查字符串是否与作为第二个参数提供的regex匹配 您的regexp看起来像^[…]{1,40}$ ^是字符串的开头,$是结尾,因此整个字符串必须与正则表达式匹配 […]是一个字符类,它包含一组字符代码点。字符串的所有字符必须属于该列表(禁止使用任何其他字符)。你需要检查它们对应的是什么:是你的朋友。对于第一个代码点:
{1,40}
。总的来说,我知道该模式试图匹配特殊字符和其他内容(即{1,40})
regexp\u like()
检查字符串是否与作为第二个参数提供的regex匹配
您的regexp看起来像^[…]{1,40}$
是字符串的开头,^
是结尾,因此整个字符串必须与正则表达式匹配$
是一个字符类,它包含一组字符代码点。字符串的所有字符必须属于该列表(禁止使用任何其他字符)。你需要检查它们对应的是什么:是你的朋友。对于第一个代码点:[…]
- 最后,
是一个量词:字符串的长度必须至少为1,最多为40{1,40}
|
是SQL字符串连接运算符-它不是regexp的一部分。|
是Oracle中的字符串连接“[a-z]”| |“{1,40}”
相当于Java中的“[a-b]”+“{1,40}”
或“[a-b]”。PHPamazing中的“{1,40}”
。我现在完全明白了。谢谢大家的快速解决
regexp_like(COLUMN,'^['||UNISTR('\0020')||'-'||UNISTR('\0060')||UNISTR('\007B')||UNISTR('\007D')||UNISTR('\007E')||UNISTR('\00C0')||'-'||UNISTR('\00DF')||']'||'{1,40}$')
\0020 space
\0060 grave accent
\007B left curly bracket