我希望在Delphi XE中创建一个正则表达式,它将匹配一个后跟一个小数点的数字,后跟(基本上)无限数量的数字.
有效示例:
2.334
150.2
0.23
3
Run Code Online (Sandbox Code Playgroud)
示例无效:
3..42
4-2.3
e5.64
3 145
Run Code Online (Sandbox Code Playgroud)
小数点可以是可选的,整数也可以.
如何使用TRegEx在Delphi中进行此操作?
编辑:
这是我到目前为止:
enter function CheckCoefficientBoxesValidInput(InputtedTerm : TEdit) : boolean;
var
RegularExpression : TRegEx;
Match : TMatch;
begin
RegularExpression.Create('[-+]?[0-9]*\.?[0-9]+');
Match := RegularExpression.Match(InputtedTerm.Text);
if Match.Success then
begin
ShowMessage('Success.');
end;
end;
Run Code Online (Sandbox Code Playgroud)
编辑2:
试试@ DavidHeffernan的代码:
Function CheckCoefficientBoxesValidInput(InputtedTerm : TEdit) : boolean;
var
RegularExpression : TRegEx;
Match : TMatch;
begin
CheckCoefficientBoxesValidInput := true;
if not RegularExpression.IsMatch(InputtedTerm.Text, '[-+]?[0-9]*\.?[0-9]+') then
CheckCoefficientBoxesValidInput := false;
end;
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎不起作用.