Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 2413|回复: 1

Lazarus正则表达式使用实例

[复制链接]

该用户从未签到

发表于 2012-9-5 09:33:08 | 显示全部楼层 |阅读模式
正则表达式在字符串处理中比较常见,在FreePascal中就内置了正则处理的单元,直接使用:
uses ... regexpr;
在方法中声明:
var
  RegexObj: TRegExpr;  
接下来我们来做一个全字符匹配,将匹配的内容输出来:
     RegexObj := TRegExpr.Create;
     RegexObj.Expression:='([\d]{8}), (gb2312|utf-8)';
     RegexObj.ModifierM := true;
     RegexObj.ModifierS := true;
     RegexObj.ModifierR := true;
     if RegexObj.Exec(body) then
     repeat
           ShowMessage('更新时间:' + RegexObj.Match[1] + ' 编码:'+RegexObj.Match[2]);
     until not RegexObj.ExecNext;            
这里ModifierM表示多行,其他几个参数可以查看regexpr源代码中的注释。
当然这里知识介绍了一个比较典型的用法,类似php中的preg_match,还有很多内容可以去官方的教程网站看看。
(责任编辑:CIT信息网)
回复

使用道具 举报

该用户从未签到

发表于 2012-9-7 09:17:42 | 显示全部楼层
怎么没有分组的方法?
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 21:20 , Processed in 0.030851 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表