"Rui Martins" <Rui(dot)Martins(at)pdmfc(dot)com> writes:
> Description: Incorrect RegExp substring Output
> SUBSTRING( BedNo FROM '^[[:digit:]]+[a-zA-Z]*(:[[:digit:]]+)?$' )
Interesting. It had never occurred to me that it's possible for the
whole pattern to have a match when some parenthesized subexpression
has no match. On investigation, Tcl's regex library seems to get
this right, but textregexsubstr() doesn't. Will fix.
> I would expect the result for BedNumber to be either NULL or the EMPTY
> String, and the later seems more logical.
It's going to be null. Your example has no match to the parenthesized
substring --- a match would have to include a colon and some digits, no?
regards, tom lane