Visual_Basic 板


LINE

关於VB的正规表示式(regular expression; regexp; regex,都是同一个东西) VB6不用看了,太单纯了,看help就差不多了 XD 但是.NET的正规表示式就已经提升到其他主要语言的水准 以下有一篇一流文件可以参考 黑暗执行绪BBS: 被遗忘的文字利器—探索.NET Regular Expression元件 http://blog.darkthread.net/files/folders/871/download.aspx 顺便贴一下里面列出的 .NET regex symbols 以後写到不会写还可以来这里翻 :P 1. 比对字串中如有用到. $ ^ { [ ( | ) * + ? \等字串,要记得用方括号 夹起来[]。 例如: 要比对NT$, 要写成NT[$]。 2. 比较常用的特殊字元有\r、\n、\t(Tab)等。 3. 最主要的比对符号如下: . \n换行符号以外的所有字元,若设为Singleline模式,则代表 任何字元。 [aeiou] 表示方括号中的任一个字元均可以,此例表示a、e、i、o或u的 任一个字元均可。 [^aeiou] 表示这五个字元以外的任何字元均可。 [0-9a-fA-F] 若是相连的字元,可使用-连字线来表示,0-9就表示0,1,2,3, 4,5,6,7,8,9均可。 \w 所有的文数字,英文字母、中文字及数字再加上底线字元。 \W 和\w刚好相反,所有不是文数字的字元。 \s 所有的空白(white-space)字元,相当於空白、\f、\n、\r、 \t、\v等不会显现的字元。 \S 与\s相反,不属於\s的所有字元。 \d 所有的数字(0-9)。 \D 所有的非数字。 4. 比对时也可指定出现的位置, ^ 出现在字串的开头。(受Multiline选项影响) $ 出现在字串的结尾。(受Multiline选项影响) \A 出现在整个字串的开头。(不受Multiline选项影响) \Z 出现在整个字串的结尾。(後方仍可接一个\n,不受Multiline 选项影响) \z 出现在整个字串的结尾。(後方不可接任何字元,不受Multiline 选项影响) 注: 所谓Multiline选项,主要在字串中有换行符号时会发生差别,可在呼叫 函数时设定参数,而笔者则较常直接加在比对字串的前方(即所谓的inline character)。例如: string sML="Item1 is a dog.\nItem2 is a cat.\n Item3 is a mouse.\n"; MessageBox.Show(Regex.IsMatch(sML,"^Item2"). ToString()); MessageBox.Show(Regex.IsMatch(sML,"(?m)^Item2"). ToString()); 其中Inline Character (?m)就是启用了Multiline选项 ,所以第一个测詴传回False,第二个则传回True,这个例子应该就可 以清楚的解释Multiline选项的影响。同时这里再补充两个常用的选项, i=Ignore Case不分大小写,s=Single Line则决定.符号是否包含\n。 5. 比对符号可以指定出现的次数,如以下的说明: * 出现0次或多次,相当於{0,}。 + 出现1次以上,相当於{1,}。 ? 出现0次或1次,相当於{0,1}。 {n} 出现正好n次。例如: (pizza){2} -> “pizzapizza”就符合比对。 {n,} 最少出现n次,例如: (abc){2,}. {n,m} 最少出现n次,但不超过m次。 *? +? ?? {n}? {n,}? {n,m}? 当有多种符合的可能时,以最少数目的为准,例如: 比对”123ABC” 字串,如果用”\d*”可得123,若用”\d*?”则得到1,其余的 意义可类推。英文称为Lazy *, Lazy +, Lazy ?...   -- 从前有个马铃薯王国 有个高贵伟大的国王 有的人尊敬他 有的人畏惧他 但有个人敢看不起他不只是一条龙 嘿呵 快出动 去征服 去摆平 嘿呵 快出征 去征服那条龙 嘿呵 快出动 (宰了它!轰了它!) 嘿呵 快出征 去征服那条龙 Potatoes and Dragons (C)Alphanim France 2004-05 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.168.228
1F:推 jacky59956:很谢谢你这篇好文章 01/06 13:00







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP