博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
官方的正则表达式组件 RegularExpressions (5) : 强测试
阅读量:5962 次
发布时间:2019-06-19

本文共 1705 字,大约阅读时间需要 5 分钟。

  hot3.png

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Memo1: TMemo;    Button1: TButton;    procedure Button1Click(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}uses RegularExpressions, msxml;const  patternUrl    = 'http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?'; //URL地址  patternEmail  = '\w+([-+.'']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*'; //Email地址  patternTel    = '(\(\d{3}\)|\d{3}-)?\d{8}';                      //电话号码  patternIDCard = '\d{17}[\d|X]|\d{15}';                           //身份证号码{获取网页源码的函数}function GetWebPageText(const AUrl: string): string;begin  with CoXMLHTTP.Create do begin    open('Get', AUrl, False, EmptyParam, EmptyParam);    send(EmptyParam);    Result := responseText;  end;end;procedure TForm1.Button1Click(Sender: TObject);var  txt,url: string;  match: TMatch;begin  Memo1.Clear;  url := 'http://www.google.com.hk/search?hl=zh-TW&source=hp&biw=1440&bih=796&q=Email+%E7%94%B5%E8%AF%9D+%E8%BA%AB%E4%BB%BD%E8%AF%81&btnG=Google+%E6%90%9C%E5%B0%8B&aq=f&aqi=&aql=&oq=';  txt := GetWebPageText(url);  for match in TRegEx.Matches(txt, patternUrl) do Memo1.Lines.Add(match.Value);  Memo1.Lines.Add('--------------------------');  for match in TRegEx.Matches(txt, patternEmail) do Memo1.Lines.Add(match.Value);  Memo1.Lines.Add('--------------------------');  for match in TRegEx.Matches(txt, patternTel) do Memo1.Lines.Add(match.Value);  Memo1.Lines.Add('--------------------------');  for match in TRegEx.Matches(txt, patternIDCard) do Memo1.Lines.Add(match.Value);  Memo1.Lines.Add('--------------------------');end;end.

转载于:https://my.oschina.net/hermer/blog/320224

你可能感兴趣的文章
【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (13)客户管理...
查看>>
HDU 3973 AC's String 字符串哈希
查看>>
Foo, Bar是什么意思?
查看>>
浮动清除
查看>>
深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断...
查看>>
早期(编译期)优化
查看>>
Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
查看>>
组合数学之Polya计数 TOJ1116 Let it Bead
查看>>
Android中的Context
查看>>
java_泛型
查看>>
linux包之dmidecode
查看>>
【转】nginx如何设置防盗链
查看>>
安卓中的弹出框
查看>>
SCVMM 2012 R2---安装前的准备工作
查看>>
18岁的他从月薪2000到月薪11000经历了什么?
查看>>
27.将 VMware 服务器上的虚拟机备份到 Azure(上)
查看>>
话里话外:中小型装备制造企业竞争优势构建之路
查看>>
zabbix 监控 3com
查看>>
大数据测试之hadoop单机环境搭建(超级详细版)
查看>>
ASA防火墙外部web应用端口与默认审查协议相冲突的解决方法
查看>>