`
txf2004
  • 浏览: 6870467 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

在Delphi程序中使用正则表达式

阅读更多

TRegexp的正则表达式的格式说明文档

.代表所有字符,换行符号(newline)除外
*0或多次*号会尽可能多匹配
+1或多次+号会尽可能的多匹配
?0或1个,即使前面有+号或*号,也只能为2个(即1+1=2个)
^否定符,如[^2]+匹配不能含有2的任意字符串
^匹配开头^D,匹配以D开头的字符串
$匹配结尾$S,匹配以S结尾的字符串
|相当于orAboutcatsanddogscat|dog|mouse|fish匹配cat(第一个,如果第一不存在,匹配第二个
[]取其中一个(1次)
()匹配操作模块取值用\1\2等表示Set(Value)?匹配Set或者SetValue.(?:Value)前面用?:则不提取匹配的值,如果不需要取值就这样用,效率会高
{min,max}重复的次数{min,}不少于min个到无穷个,{num}精确到Num个
\d匹配所有阿拉伯数字
\b匹配仅仅是文字的字符串,2个字节宽的文字,如中文,日文等
\B和\b刚好想反,只匹配1字节宽的如字母,数字,不匹配符号
\w匹配wordcharacter,也会匹配阿拉伯数字(匹配1次)sd35fg3\b3\b匹配的是d35
\p{L}匹配Unicode的字符
范围查询
q(?=u)匹配question,不匹配Iraq,http://www.regular-expressions.info/quickstart.html
q(?!u)不匹配question,匹配Iraq,http://www.regular-expressions.info/quickstart.html
(?<=a)b匹配abc
(?<!a)b不匹配abc

======================================

{
使用微软RegExp
1. 下载并安装最新版的"Microsoft(r) Windows(r) Script"
2. RegExp包含在vbscript.dll中所以我们必须先注册regsvr32 vbscript.dll
注(安装了Ie5后默认已经包含该控件)

3.在Delphi中引入"Microsoft VBScript Regular Expressions"
主菜单->Project->Import type library->在列表中选择"Microsoft VBScript Regular Expressions"

生成TRegExp控件

4.使用以下代码调用TRegExp控件
}
procedure TForm1.Button1Click(Sender: TObject);
var
matchCollection: IMatchCollection;
Matchs: Match;
submatch: ISubMatches;
i, j: integer;
begin
RegExp1.Global := true;
RegExp1.Pattern := '\w+\.\w+(?!.)';
RegExp1.IgnoreCase := true;
matchCollection := RegExp1.Execute(edit1.Text) as IMatchCollection;

for i := 0 to matchCollection.Count - 1 do
begin
Matchs := matchCollection.Item[i] as Match;
submatch := Matchs.SubMatches as ISubMatches;
memo1.Lines.Add(Matchs.Value);
for j:=0 to submatch.Count -1 do
memo1.Lines.Add(submatch.Item[j])
end;
end;

分享到:
评论

相关推荐

    Delphi 10.4 最新版正则表达式(TRegExpr)源码

    正则表达式易于使用,功能强大,可用于复杂的搜索和替换以及基于模板的文本检查。这对于输入形式的用户输入验证特别有用-验证电子邮件地址等。您还可以从网页或文档中提取电话号码,邮政编码等,在日志文件中搜索...

    delphi 正则表达式类 TRegExpr

    delphi下的正则表达式操作类 TRegExpr,delphi7适用,附带完整例子程序。 r := TRegExpr.Create; r.Expression := '[A-Z]'; r.Exec &#40;'234578923457823659GHJK38'&#41;;

    从零开始学习正则表达式(delphi).rar

    例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen...

    delphi正则表达式类

    正则表达式类,很好用。写程序不用自己再写一遍,使用方法跟别的语言差不多。。。

    (Delphi版)安装文件TPerlRegEx

    delphi 中的正则表达式控件,使用与D5,D6,D7。 1、安装.dpk文件,在Libary中添加TPerlRegEx单元存放路径 2、运行程序前复制pcrelib.dll到C:\WINDOWS下

    Delphi算法与数据结构 源码(上)

    不仅如此,作者还介绍了散列和散列表、优先队列、状态机和正则表达式以及诸如哈夫曼和LZ77等数据压缩技术。 随附光盘中有作者所开发的一个相当成功的自由软件库EZDSL,另外还有可运行于各版本Delphi上和Kylix上的源...

    DIRegEx 7.0.0〖D5~XE3〗Cracked

    DIRegEx是DELPHI中最快的正则表达式商业控件(上传的为破解版),旨在成为德尔福组件和程序库,实现正则表达式模式。包括支持UTF - 8编码的Unicode字符串和普通类的属性。支持中文模式。

    DiRegEx_5.20_XE5_Win32

    DIRegEx是DELPHI中最快的正则表达式商业控件(上传的为破解版),旨在成为德尔福组件和程序库,实现正则表达式模式。包括支持UTF - 8编码的Unicode字符串和普通类的属性。支持中文模式。

    Delphi算法与数据结构 源码(下)

    不仅如此,作者还介绍了散列和散列表、优先队列、状态机和正则表达式以及诸如哈夫曼和LZ77等数据压缩技术。 随附光盘中有作者所开发的一个相当成功的自由软件库EZDSL,另外还有可运行于各版本Delphi上和Kylix上的源...

    SynEdit-20240417 for Delphi10.1~Delphi11-FullSource.zip

    SynEdit 是一个开源的文本编辑器组件,专为 Delphi 和 C++Builder 开发者设计,用于在应用程序中集成高级文本编辑功能。以下是 SynEdit 的核心特性: 语法高亮:支持多种编程语言的语法高亮,可自定义规则,增强...

    C#使用webBrowser控件获取URL下载图片

    通过C#网络编程的webBrowser获取网页中的url并简单的尝试...其中主要的通过应用程序结合网页知识、正则表达式实现浏览、获取url、下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的.结合知识博客.

    DIRegEx v8.6.1〖D7~XE7〗

    DIRegEx旨在成为德尔福组件和程序库,实现正则表达式模式。包括支持UTF - 8编码的Unicode字符串和普通类的属性。

    Baidu mp3 批量下载器源代码

    支持批量下载mp3.baidu.com上面的歌曲,程序采用delphi实现,用idhttp下载html ,正则表达式分析下载链接,Tthread实现多线程下载.是学习delphi编程的好例子。

    ExcelPanel Studio Demo

    REGEXP 正则表达式工具 REGISTRY 注册表操作功能 SCRIPT 脚本解释器 SEGY 地震数据解析功能 SKIN 换皮肤功能 SMS 短信发送功能 SOCKET SOCKET协议封装 SPEACH 语音朗读功能 SPS 矢量画板 STRING 字符串列表 ...

    Clever_Internet_Suite_v_9.2.0.0

    BounceChecker - 更新后的组件通过使用正则表达式语法从邮件中提取所有电子邮件地址,分析邮件内容,并指示邮件是否包含未送达报告。 重新命名和重新组织编码器组件的编码/解码方法,以改善界面和可用性。 下载程序...

    SDL Passolo 2016 v16.0.309.0.zip

    - 集成功能强大的正则表达式,可以处理各种各样的文本文件 - 支持 Trados 等翻译软件的术语库和多种格式字典的直接引用、导入和导出 - 支持字串的自动翻译和对话框的自动布局,翻译的检查和验证 - 软件菜单、...

    brookframework:有助于开发Web Pascal应用程序的微框架

    快速路径路由支持: 使用优化的正则表达式。 路径入口点。 HTTP压缩: -用于静态字符串和流。 用于文件压缩。 HTTP cookie: 提供处理服务器端Cookie的类。 HTTPS支持: 通过库进行数据加密。 双栈: 在单个套接字...

    易语言程序免安装版下载

    修改BUG:网络传送支持库在使用代理下载时可能会导致程序崩溃。 12. 修改BUG:超级列表框.置列图片()有时功能不正常或导致随机错误。 13. 修改BUG:Sqlite3数据库支持库中的“Sqlite记录集.绑定参数()”命令不...

    代码资料合集1728.rar

    2012-06-14 17:13 42,863 正则表达式系统教程.CHM 2012-06-14 17:16 1,180,147 经典的mp3源码程序,有usb,支持fat32文件系统+sd卡.rar 2012-06-14 17:21 5,309,947 自助网址站程序(带数据)下载.rar 2012-06-14 17:04 ...

Global site tag (gtag.js) - Google Analytics