关闭

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

标签: delphimicrosoftvbscript正则表达式newlineinteger
1755人阅读 评论(0) 收藏 举报
分类:

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

.  代表所有字符,换行符号(newline)除外
*  0或多次 *号会尽可能多匹配
+  1或多次 +号会尽可能的多匹配
?  0或1个,即使前面有+号或*号,也只能为2个(即1+1=2个)
^  否定符,如 [^2]+ 匹配不能含有2的任意字符串
^ 匹配开头  ^D,匹配以D开头的字符串
$ 匹配结尾  $S,匹配以S结尾的字符串
| 相当于or About cats and dogs cat|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 匹配word character,也会匹配阿拉伯数字(匹配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;

0
0
查看评论

Delphi 中经常使用的正则表达式

在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它.  官方网站: http://www.regular-e xpressions.info/delphi.html  直接下载: http://www.regu...
  • wozengcong
  • wozengcong
  • 2014-01-19 16:18
  • 2382

关于在DELPHI6中使用正则表达式的一些心得

一. 工具选择DELPHI6本身没有处理正则表达式的库,只能找第三方库。在选择方面,我的标准是:1. 不必向开发环境注册控件2. 接口简单3. 符合主流的perl式正则语法4. 专业,至少应该有个看上去专业的专门网站5. 免费目前符合以上标准, 比较好的RegEx类库有TRegExpr ( http...
  • johnnyjian
  • johnnyjian
  • 2007-04-01 14:55
  • 1080

delphi正则表达式学习笔记(一)

在 Delphi 中是没有自带的正则表达式库的,在网上能找到的用于 Delphi 的正则表达式类大体上有两个,分别是 PerlRegEx 和 RegExpr。 前者相当强大,但发布程序时需要带上他的一个 DLL 文件,感觉很麻烦。而后者是完全使用 D...
  • xtfnpgy
  • xtfnpgy
  • 2015-10-13 15:57
  • 944

谈如何解析Html并抓取数据

最近加入了一家新公司,他们是一家电商,业务是网上虚拟充值,我进去是做OA里面的财务,本来想到的是做一做信息管理的,没想到还涉及到去别的网站采集数据(解析Html,最终用采集到的数据生成财务凭证)这一环,这个是我从来接触过的领域,大致看了一下,目的也就是解析网页的HTML从中找出需要的数据。那么问题来...
  • lee576
  • lee576
  • 2015-03-28 23:13
  • 9517

Html的正则表达式

这个是我们经常需要用到的.所以做了一个: /* * Main.java * * Created on 2006年12月7日, 上午10:43 * * To change this template, choose Tools | Templ...
  • longronglin
  • longronglin
  • 2006-12-07 12:00
  • 971

解析html

#coding=utf-8 import os import sys from lxml import etree,html reload(sys) sys.setdefaultencoding('utf-8') content=open('1.htm',...
  • hutao1101175783
  • hutao1101175783
  • 2017-06-13 22:10
  • 82

在Delphi中使用正则表达式

//参考地址:http://www.wangchao.net.cn/bbsdetail_41190.html 一、微软RegExp      1. 下载并安装最新版的"Microsoft(r) Windows(r) Script&...
  • linkyang
  • linkyang
  • 2009-11-27 16:35
  • 390

在DELPHI中使用正则表达式

在网上发现,有多种方法可在delphi中使用正则表达式。窃以为直接使用微软的RegExp对象会比较简单,无需额外工作。    使用微软RegExp方法: 1. 下载并安装最新版的"Microsoft(r) Windows...
  • boythl
  • boythl
  • 2008-10-07 14:47
  • 687

利用HtmlParse获取Html内容并提取

一.      网上获取html内容 1.利用url获取html内容: public static String getHtmlContent(String urlstr){ /*思路: 1.读出原网页:url--》openstream--...
  • u010666884
  • u010666884
  • 2015-12-10 17:55
  • 3493

正则获取html中的 &lt;img src = 图片地址

  • 2014-12-26 09:54
  • 1.41MB
  • 下载
    个人资料
    • 访问:1610351次
    • 积分:16858
    • 等级:
    • 排名:第713名
    • 原创:195篇
    • 转载:192篇
    • 译文:2篇
    • 评论:376条
    文章存档
    最新评论