【发布时间】:2016-02-12 13:59:29
【问题描述】:
我遇到了一些问题,我似乎无法用正则表达式来匹配名称中的 3 个或多个 a 或 e。
查找管理员工姓名中至少包含 3 个字母“a”或“e”(均为大写字母)的所有经理 和小写)。例如,名称中有 2 个“a”和 1 个“e”,将满足选择标准
select manager_name
from manages
where regexp_like(employee_name, '[a,e]{3, }');
当我这样做时,它会显示一个包含“e”或“a”的正确列表,但是当我尝试执行 3 个或更多时,它会返回空白集。下面还提供了示例数据。
select manager_name
from manages
where regexp_like(employee_name, '[a,e]');
样本数据
William Gates III
Lakshmi Mittal
Ingvar Kamprad
Lawrence Ellison
Mark Zuckerberg
Sheryl Sandberg
Liliane Bettencourt
Michael Dell
【问题讨论】:
-
您能否分享一些示例输入并解释返回的输出是如何错误的。另外,您使用的是哪个rdbms?
-
[aAeE]{3,}是好的正则表达式 -
Oracle,它不应该返回一个空白集。
-
我也不知道为什么我被否决了。
标签: sql oracle regexp-like