'?' matches exactly zero or one repetition : Meta characters « Regular Expressions Functions « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> SELECT REGEXP_SUBSTR('Yababa dababa do','a.?a') FROM dual;

REG
---
aba

SQL>








18.6.Meta characters
18.6.1.Meta characters
18.6.2.The period may be substituted for any letter and still maintain a match
18.6.3.Use the caret-anchor to insist the matching start at the beginning of the string
18.6.4.Asking for a match for a capital 'F' followed by any character
18.6.5.The search string cannot be anchored at the beginning and then searched from some other position
18.6.6.Negating Carets
18.6.7.A '^' followed by something else like an 'l' (a lowercase 'L')
18.6.8.Match a string where 'i' is followed by any one character and followed by another 'i'
18.6.9.Regexp_Substr
18.6.10.'*' matches zero or more repetitions
18.6.11.'+' matches one or more repetitions
18.6.12.'?' matches exactly zero or one repetition
18.6.13.Asking to match an 'a' and zero or more 'b's:
18.6.14.A series of 'b's immediately following the 'a'
18.6.15.Matching at least one 'b'
18.6.16.Want an 'e' followed by any number of other characters and then another 'e'
18.6.17.REGEXP_SUBSTR(value,'e.*e')
18.6.18.Non-greedy '?'
18.6.19.Empty Strings and the ? Repetition Character
18.6.20.The '?' says to match zero or one time