Jeg tror, du vil prøve
select 1 from dual
where regexp_like ('does test work here', '(^|\s)test(\s|$)');
fordi \b
vises ikke på denne liste:Perl-påvirkede udvidelser i Oracle Regular Expressions
\s
sørger for, at testen starter og slutter i et mellemrum. Dette er dog ikke tilstrækkeligt, da strengen test
kan også vises i begyndelsen eller slutningen af den streng, der matches. Derfor bruger jeg alternativet (angivet med |
) ^
for start af streng og $
for slutningen af strengen.
Opdatering (efter 3 år+)... Som det sker, havde jeg brug for denne funktionalitet i dag, og det forekommer mig, at endnu bedre et regulært udtryk er (^|\s|\W)test($|\s|\W)
(Det manglende \b regulære udtryk specialtegn i Oracle).