Oracle SQL语句,用于查找以非Aplha / Numeric字符开头的所有电子邮件

时间:2017-07-11 13:58:00

标签: sql regex oracle

我正在尝试回拨所有电子邮件的行,这些行的字符串不是AlphaNumeric。 我试图在声明中使用的那一行是     REGEXP_LIKE (SUBSTR(hcp_email.email_address,1,2), '![%a-zA-Z%]') 这并没有带回相关的路线。 我可以使用下面的结果返回结果,但这不像使用捕获所有范围的文本和数字而忽略。     REGEXP_LIKE (SUBSTR(hcp_email.email_address, 1,2), '[":., ]')

理想情况下,我想使用范围为a-z 0-9的NOT LIKE语句。

1 个答案:

答案 0 :(得分:0)

无需嵌入SUBSTR电话。只需将正则表达式锚定到字符串的开头,然后查看第一个字符即可。此示例使用POSIX速记来提高可读性。

where regexp_like(hcp_email.email_address, '^[^[:alnum:]]');

编辑 - 添加正则表达式解释

^         - Anchor to the start of the string 
[         - Start a character class 
^         - Inside of a character class this means NOT
[:alnum:] - POSIX shorthand for an alphanumeric (A-Za-z0-9)
]         - End character class (the character class describes 1 character)