select * from emp where regexp_like( ename, nvl( :P6_REGEXP, ename ), 'ix' )
Start with S: ^s End with R: r$ Start with S and end with H: ^s.*h$ Start with S or end with R: ^s|r$ All 4 letter names: ^....$ Contains B, C, D or K: [b-d,k] All names with double letters: (.)\1