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

Oracle SQL语句查找所有以非Aplha/数字字符开头的电子邮件,sql,regex,oracle,Sql,Regex,Oracle,我试图调回所有以非字母数字字符开头的电子邮件行。 我试图在声明中使用的行是 REGEXP_LIKE(SUBSTR(hcp_email.email_address,1,2),![%a-zA-Z%]) 这不会返回相关行。 我可以用下面的内容返回结果,但这并不像使用一系列的文本和数字来忽略那个样实用。 REGEXP_LIKE(SUBSTR(hcp_email.email_地址,1,2),“[”:,]) 理想情况下,我希望使用范围为a-z 0-9的NOT like语句。无需嵌入SUBSTR调用。只需将正

我试图调回所有以非字母数字字符开头的电子邮件行。 我试图在声明中使用的行是
REGEXP_LIKE(SUBSTR(hcp_email.email_address,1,2),![%a-zA-Z%])
这不会返回相关行。 我可以用下面的内容返回结果,但这并不像使用一系列的文本和数字来忽略那个样实用。
REGEXP_LIKE(SUBSTR(hcp_email.email_地址,1,2),“[”:,])


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

无需嵌入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)

那么,您是否尝试过类似正则表达式(hcp_email.email_地址“^[^a-zA-Z0-9]”的方法?
P
从上面的评论中迷失了方向,肯定是
REGEXP\u喜欢的
谢谢你的回复这对我来说很有效:)我没有用过
^
我试着用过
谢谢你,我是新来的,所以我会花一些时间看看锚是如何工作的,以备将来使用:)当然这会更好y而不是添加SUBSTR!当然,编辑后可以对正则表达式进行更详细的解释。