With your shown samples please try following regex. Here is the Online demo for above regex.
^\d+(?:\.\d+)?\n+\s+(.*?rt[^\n]+)\n+\s*\S+$
Python3 code: Code is written and tested in Python3x. Its using Python3's re module's findall function which also has re.M flag enabled in it to deal with the variable value.
import re
var = """1.99
Jim Smith rt Tom Ross
Random"""
re.findall(r'^\d+(?:\.\d+)?\n+\s+(.*?rt[^\n]+)\n+\s*\S+$',var,re.M)
['Jim Smith rt Tom Ross']
Explanation of regex:
^\d+ ##From starting of the value matching 1 or more occurrences of digits.
(?:\.\d+)? ##In a non-capturing group matching literal dot followed by 1 or more digits.
\n+\s+ ##Followed by 1 or more new lines followed by 1 or more spaces.
(.*?rt[^\n]+) ##In a CAPTURING GROUP using lazy match to match till string rt just before a new line.
\n+\s*\S+$ ##Followed by new line(s), followed by 0 or more occurrences of spaces and NON-spaces at the end of this value.
I think I need to lookahead and lookbehind then bound the resultGood thought. Request you to please do add your efforts in form of code in your question, to avoid close votes on question, there is nothing right on wrong in posting efforts, cheers.