program ExtractFloatPascal;
uses
SysUtils, // StrToFloat
RegExpr; // TRegExpr
var
str: string;
regex: TRegExpr;
number: Double;
begin
str := 'The price is 148.99 dollars';
regex := TRegExpr.Create;
regex.Expression := '[-+]?[0-9]*\.?[0-9]+';
if regex.Exec(str) then
begin
number := StrToFloat(regex.Match[0]);
WriteLn('Extracted float: ', number:0:2);
end;
regex.Free;
end.
(*
run:
Extracted float: 148.99
*)