> I can match the numeric value and the rest of the string after > the numeric value using the following: > > select regexp_matches('hello+123123.453the-123re', > '([\+|-]?(?:\d*(?:(?:\.)?\d+)))(.*)') > outputs array {+123123.453,the-123re}. > > Where I am having trouble is with matching the first part of the > string. In other words what needs to be 'RE' in the following > expression for it to report the all three elements of the array. > > select regexp_matches('hello+123123.453the-123re', > '((RE)[\+|-]?(?:\d*(?:(?:\.)?\d+)))(.*)') > should return array {hello,+123123.453,the-123re}.