本文整理自网络,侵删。
function GetNextMatch(AValue, APattern: string): string;
var
i: Integer;
Regex: TRegex;
s: string;
begin
Regex := TRegex.Create(APattern, [roIgnoreCase]);
for i := 0 to Regex.Matches(AValue).Count -1 do
begin
Result := Regex.Matches(AValue).Item[i].Value;
GetNextMatch(Result, APattern);
end;
end;
调用 GetNextMatch('begindklewjsabegindiekdjekdenickdkekkdiuiuijujenddkeidkkdend', '(?<=begin)([.\S\s]*)(?=end)');
结果:
dklewjsabegindiekdjekdenickdkekkdiuiuijujenddkeidkkd,
diekdjekdenickdkekkdiuiuijuj 相关阅读 >>
Delphi2010中使用pchar时e2010 incompatible types: 'char' and 'ansichar' 错误的处理
Delphi sysutils.lastdelimiter - 判断一个字符串在另一个字符串中最后出现的位置
Delphi中如何捕获mediaplayer播放的视频中的每一帧 ?
更多相关阅读请进入《Delphi》频道 >>