用正则表达式获取指定的字符串续_取出所有符合要求的字符串
2011-09-01 15:12
381 查看
在上一篇用正则表达式获取指定的字符串中,只是简单处理了下符合要求的字符串,假如有多个符合要求的自私办呢,本来懒得弄,后来还是有一网友也问了同一个问题,如是试了一下,用递归
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
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
相关文章推荐
- 请教一个正则表达式,匹配所有Html标签外部的指定字符串
- C# 关于字符串中 符合正则表达式的指定字符的替换的方法
- 正则表达式RegularExpression(从字符串中获取想要的部分,判断给定的字符串是否符合正则表达式的过滤逻辑)
- 利用java正则表达式来解析并获取指定的字符串
- java 正则表达式获取指定两个字符串之间内容
- 正则表达式获取字符串中html<input>标签指定value值
- asp.net验证一个字符串是否符合指定的正则表达式
- java使用正则表达式获取字符串中的所有英文单词或数字
- 采用正则表达式获取某路径下符合特定模式字符串的文件名
- asp.net验证一个字符串是否符合指定的正则表达式
- JS学习笔记(2)--正则表达式获取指定字符串
- java正则表达式获取字符串中的所有英文单词或数字
- 用正则表达式获取指定的字符串
- java中用正则表达式获取一个指定的子字符在字符串中出现的指定次数的下标索引,并且进行字符串分割
- java 正则表达式获取指定两个字符串之间内容
- java 正则表达式获取指定两个字符串之间内容
- Java利用正则表达式截取指定字符串之间的内容
- 获取正则表达式匹配字符串的一部分
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)