ITPub博客

首页 > 应用开发 > IT综合 > 关于TPerlRegEx类使用上的一些经验

关于TPerlRegEx类使用上的一些经验

原创 IT综合 作者:uuxa 时间:2010-12-26 21:54:57 0 删除 编辑
最近工作时遇到了一些关于html解析方面的开发,下面说说在使用正则表达式时遇到的一些问题。[@more@]

在delphi里可以使用类TPerlRegEx来实现对正则表达式的调用。

TPerlRegEx中有几个函数和属性我们在开发中会经常用到,如Subject、RegEx、Match、AgainMatch、SubExpressions、Replacement和ReplaceAll等等。

由属性或函数名我们不难推测出他们的功能,这里不详细介绍属性和函数的功能,做几个实例供大家参考。

查找指定格式的字符串

我们要在字符串中查找类似如下格式的所有字符串,

dse_sessionId=6Ee0Y05AkhLUeO4R8nenMvM,做过web开发的朋友可以轻易的看出这是html中会话ID,下面我举例说明如何找出网页中满足如上格式的字符串,

Const

CS_DEST_1 = 'dse_sessionId=w*';在w前有反斜扛

var
vPerlReg: TPerlRegEx;
begin
vPerlReg := TPerlRegEx.Create(nil);
vPerlReg.Subject := vList.Text; //将目标网而保存在TStringList中
vPerlReg.RegEx := CS_DEST_1; //这里是正则表达式
vPerlReg.Match; // 开始在网页中查找,成功找到匹配的字符串时Match函数会返回true

vPerlReg.SubExpressions[0];// 这里保存了所查找到的字符串。

//注意上面的方法只找到满足正则表达式中的一个字符串,而不是所有的,如果想找到所有满足正则表达式的字符串,需要使用循环来完成,此时需要配合使用函数AgainMatch来完成循环。

// 还有一点需要注意,在目标里如果包含有换行符,如#$D#$A,它会影响正则表达式查找指定格式的字符串,我的经验是在具体执行查找前将这些多余的字符从目标中去掉。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7416120/viewspace-1043680/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 取得gbk编码
请登录后发表评论 登录
全部评论
  • 博文量
    111
  • 访问量
    282589