delphi 正则表达式 提取网页中数据
发布时间:2025-05-25 10:06:39 发布人:远客网络
一、delphi 正则表达式 提取网页中数据
1、reg.Subject:='<tdalign="right">11</td><tdalign="right">22</td><tdalign="right">33</td><tdalign="right"><spanclass="ok">44</span></td>';
2、end;
首先确保在Uses里引用了RegularExpressionsCore名空间,不过你应该引用了,否则var reg:TPerlRegEx这一句就会报错;
3、首先确保在Uses里引用了RegularExpressionsCore名空间,不过你应该引用了,否则var reg:TPerlRegEx这一句就会报错;
4、不知道是不是版本不同的原因,新版本里的TPerlRegEx类把MatchedExpression和SubExpressions这两个属性取消了(这是Delphi的一个大问题,老是不向下兼容,新版本不支持旧版本的代码,恼火),相应的属性分别改为MatchedText和Groups;
二、delphi 获取字符串之间多个字符内容
可通过函数POS及COPY配合使用实现该功能。
POS:获取特定字符所处字符串的位置,返回数据类型为整型。POS共有两个参数:POS(特定字符或字符串,源字符串)。
COPY:字符串截取,返回数据类型为字符型。COPY共有三个参数:COPY(源字符串,起始截取位(整型,可为变量),截取位数(整型,可为变量))。
二、实例演示(笔者以截取特定字符‘.'前5位为例),操作如下:
1、添加TEDIT及TBUTTON控件各一个;
2、在TBUTTON控件的单击事件中,写入代码:ShowMessage(Copy(Trim(ed2.Text),Pos('.',Trim(ed2.Text))-6,5));
3、在TEDIT中随便输入一串字符,点击TBUTTON控件,效果如下图:
三、如何使用正则表达式验证非空
///S匹配任何非空白,相当于 [^/f/n/r/t/v]
reg.Subject:='期待Delphi 2008 for Win32!';
reg.Replacement:='◆';
ShowMessage(reg.Subject);//返回:
1、灵活性、逻辑性和功能性非常强;
2、可以迅速地用极简单的方式达到字符串的复杂控制。
3、对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
以上内容参考:百度百科-正则表达式