当前位置:编程学习 > Delphi >>

Delphi问题

implementation{$R *.dfm}var i:integer;procedure TForm1.Button1Click(Sender: TObject);var reg:TPerlRegEx; s:string;begin reg:=TPerlRegEx.Create(nil); reg.Subject:=Memo1.Text; reg.RegEx:='([\w]+@)([\w]+.)([\w]+)'; reg.Options:=[preCaseLess]; while reg.MatchAgain do begin ListBox1.Items.Add(reg.SubExpressions[0]); end; for i:=0 to ListBox1.Items.Count-1 do begin s:=ListBox1.Items[i]; //ShowMessage(s); while ListBox1.Items.IndexOf(s)>-1 do begin ListBox1.Items.Delete(ListBox1.Items.IndexOf(s)); end; ListBox1.Items.Insert(i,s); end; reg.Free; Form1.Caption:='当前的邮箱总数:' + IntToStr(i);end;procedure TForm1.FormCreate(Sender: TObject);begin Memo1.Clear; memo1.ScrollBars:=ssVertical; Form1.Caption:='';end;end.这段代码有点问题,希望大大们帮我修改下,谢谢。
补充:
		
追问:是啊,我才开始学,但是基本的邮箱验证没什么问题,就是用listbox1就会出现行越界
答案:
有什么问题,正则表达式应用。你的正则也太简单,这样的结果可能有问题。
这里对应的是ascii值, 十进制 十六进制 字符9 9 TAB(制表符)10 A 换行13 D 回车32 20 空格33 21 !34 22 "35 23 #36 24 $37 25 %38 26 &39 27 '40 28 (41 29 )42 2A *43 2B +44 2C ,45 2D -46 2E .47 2F /48 30 049 31 150 32 251 33 352 34 453 35 554 36 655 37 756 38 857 39 958 3A :59 3B ;60 3C <61 3D =62 3E >63 3F ?64 40 @65 41 A66 42 B67 43 C68 44 D69 45 E70 46 F71 47 G72 48 H73 49 I74 4A J75 4B K76 4C L77 4D M78 4E N79 4F O80 50 P81 51 Q82 52 R83 53 S84 54 T85 55 U86 56 V87 57 W88 58 X89 59 Y90 5A Z91 5B [92 5C \93 5D ]94 5E ^95 5F _96 60 `97 61 a98 62 b99 63 c100 64 d101 65 e102 66 f103 67 g104 68 h105 69 i106 6A j107 6B k108 6C l109 6D m110 6E n111 6F o112 70 p113 71 q114 72 r115 73 s116 74 t117 75 u118 76 v119 77 w120 78 x121 79 y122 7A z123 7B {124 7C |125 7D }126 7E ~

上一个:delphi重写事件
下一个:delphi 问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,