SELECT FIRSTNAME,LASTNAME, EMAIL
FROM CUSTOMERS
WHERE REGEXP_LIKE(EMAIL,'[A-Z0-9._%-]{1,10}@[a-z0-9._%-]{1,5}\.[net|com]','i');
我知道这不切实际或意义不大,但这是我正在处理的一个限制条件:电子邮件地址在 @ 之前最多包含 10 个字符,后跟最多 5 个字符,然后是“.”。最后是 .net 或 .com 扩展名。这在大多数情况下都有效,除了上半场的 1-10 限制似乎没有达到我想要的效果。它在“@”之前引入几乎任何数字字符。例如,它应该接受jreed但不接受jodywilliamreed ,因为后者超过 10 个字符。有人看到我在这里做了什么会导致这个问题吗?编辑:我在 oracle 中使用 sql developer
尝试将
^
字符添加到您的正则表达式中,这意味着匹配字符串开头的位置,如下所示