[A-Z]+)(\\d+)'; pattern3 = '([A-Z]+)(?<3>\\d+)'; txt = 'AA11 BB22'; varmatch: TMatch; group: TGroup; begin
Memo1.Clear;
for match in TRegEx.Matches(txt, pattern1, [roExplicitCapture]) do begin
for group in match.Groups do begin
Memo1.Lines.Add(group.Value); end; end;
Memo1.Lines.Add('--------------------');
for match in TRegEx.Matches(txt, pattern1) do //此处把 pattern1 换做 pattern2 或 pattern3 均可 begin
for group in match.Groups do begin
Memo1.Lines.Add(group.Value); end; end;
Memo1.Lines.Add('--------------------');
for match in TRegEx.Matches(txt, pattern2, [roExplicitCapture]) do begin
for group in match.Groups do begin
Memo1.Lines.Add(group.Value); end; end;
Memo1.Lines.Add('--------------------');
for match in TRegEx.Matches(txt, pattern3, [roExplicitCapture]) do begin
for group in match.Groups do begin
Memo1.Lines.Add(group.Value); end; end; end;
{********************* AA11 BB22
-------------------- AA11 AA 11 BB22 BB 22
-------------------- AA11 AA BB22 BB
-------------------- AA11 11 BB22 22
**********************}
{roCompiled}
procedure TForm1.Button4Click(Sender: TObject);
var
reg: TRegEx; begin
reg := TRegEx.Create('\\d+', [roCompiled]); Memo1.Text := reg.Replace('AA11 BB22', '..'); //AA.. BB.. end;
{roSingleLine}
procedure TForm1.Button5Click(Sender: TObject); const
pattern = '[A-Z]{1}.{1}';
txt = 'A B C D'#13#10'A B C D'#13#10'A B C D'; var
rStr: string; begin
Memo1.Clear;
rStr := TRegEx.Replace(txt, pattern, '11', [roSingleLine]);
Memo1.Lines.Add(rStr);
Memo1.Lines.Add('--------------------');
rStr := TRegEx.Replace(txt, pattern, '11'); Memo1.Lines.Add(rStr); end;
{********************* 11111111 11111111 111111D
-------------------- 111111D 111111D 111111D
**********************}
{roIgnorePatternSpace}
procedure TForm1.Button6Click(Sender: TObject); var
rStr: string; begin
Memo1.Clear;
{忽略空白}
rStr := TRegEx.Replace('ABC,A B C,AB C', 'AB C', [roIgnorePatternSpace]);
, '...' Memo1.Lines.Add(rStr); //...,A B C,AB C
rStr := TRegEx.Replace('ABC,A B C,AB C', 'AB C', '...'); Memo1.Lines.Add(rStr); //ABC,A B C,... Memo1.Lines.Add('--------------------');
{使用注释}
rStr := TRegEx.Replace('ABC123', 'ABC#*123', '...', [roIgnorePatternSpace]);
Memo1.Lines.Add(rStr); //...123
rStr := TRegEx.Replace('ABC123', 'ABC#*123', '...'); Memo1.Lines.Add(rStr); //... end;
{********************* ...,A B C,AB C ABC,A B C,...
-------------------- ...123 ...
**********************}
{选项集合}
procedure TForm1.Button7Click(Sender: TObject); const
pattern = '^Delphi';
txt = 'DELPHI DELPHI DELPHI'#13#10'delphi delphi delphi'; begin
Memo1.Text := TRegEx.Replace(txt, pattern, '......', [roIgnoreCase, roMultiLine]); end;
{********************* ...... DELPHI DELPHI ...... delphi delphi **********************}