uses RegularExpressions;
const
pattern = '([A-Z]+)(\d+)'; //其三个子表达式分别是:[A-Z]+\d+ [A-Z]+ \d+
txt = 'AAA1 BBB2 AA11 BB22 A111 B222 AAAA'; //测试用的目标文本
procedure TForm1.Button1Click(Sender: TObject);
var
match: TMatch;
group: TGroup;
groups: TGroupCollection;
begin
match := TRegEx.Match(txt, pattern);
groups := match.Groups;
Memo1.Clear;
for group in groups do
begin
Memo1.Lines.Add(group.Value); //AAA1/AAA/1
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
match: TMatch;
group: TGroup;
begin
Memo1.Clear;
for match in TRegEx.Matches(txt, pattern) do
begin
for group in match.Groups do
begin
Memo1.Lines.Add(group.Value);
end;
Memo1.Lines.Add('');
end;
end;
{**************
AA11
AA
11
BB22
BB
22
A111
A
111
B222
B
222
**************}
procedure TForm1.Button3Click(Sender: TObject);
var
rStr: string;
begin
Memo1.Clear;
rStr := TRegEx.Replace(txt, pattern, '$1'); //AAA BBB AA BB A B AAAA
Memo1.Lines.Add(rStr);
rStr := TRegEx.Replace(txt, pattern, '$2'); //1 2 11 22 111 222 AAAA
Memo1.Lines.Add(rStr);
rStr := TRegEx.Replace(txt, pattern, '$2$1'); //1AAA 2BBB 11AA 22BB 111A 222B AAAA
Memo1.Lines.Add(rStr);
end;
{**********************************
AAA BBB AA BB A B AAAA
1 2 11 22 111 222 AAAA
1AAA 2BBB 11AA 22BB 111A 222B AAAA
***********************************}
官方的正则表达式组件 RegularExpressions (2) : 子表达式
原创JLee79 ©著作权
文章标签 RegularExpressions 正则表达式 文章分类 后端开发
©著作权归作者所有:来自51CTO博客作者JLee79的原创作品,请联系作者获取转载授权,否则将追究法律责任
posted on 2011-03-28 21:42 万一 阅读(4112) 评论(0) 编辑 收藏
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
常用正则表达式,正则表达式
常用正则表达式,正则表达式
正则表达式 JavaScript 腾讯 VBScript prototype