我遇到了一些問題,我似乎無法像正則表達式匹配3個或更多個a或e的名稱。使用正則表達式的SQL REGEXP_LIKE()
找到所有管理員工,他們的名字中至少有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
你可以分享一些示例輸入並解釋返回的輸出是如何錯誤的。另外,你使用的是哪個[tag:rdbms]? – Mureinik
'[aae] {3,}'是Oracle的良好正則表達式 – Blag
,它在不應該返回時會返回一個空白集。 – camdixon