小编Gig*_*bit的帖子

使用TRegEx在Delphi中创建正则表达式

我希望在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)

不幸的是,这似乎不起作用.

regex delphi

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

delphi ×1

regex ×1