《正则表达式例子大全》由会员分享,可在线阅读,更多相关《正则表达式例子大全(25页珍藏版)》请在金锄头文库上搜索。
1、正则表达式例子正则表达式例子验证数字的正则表达式集 验证数字:0-9*$验证 n 位的数字:dn$验证至少 n 位数字:dn,$验证 m-n 位的数字:dm,n$验证零和非零开头的数字:(0|1-90-9*)$验证有两位小数的正实数:0-9+(.0-92)?$验证有 1-3 位小数的正实数:0-9+(.0-91,3)?$验证非零的正整数:+?1-90-9*$验证非零的负整数:-1-90-9*$验证非负整数(正整数 + 0) d+$验证非正整数(负整数 + 0) (-d+)|(0+)$验证长度为 3 的字符:.3$验证由 26 个英文字母组成的字符串:A-Za-z+$验证由 26 个大写英文字母
2、组成的字符串:A-Z+$验证由 26 个小写英文字母组成的字符串:a-z+$验证由数字和 26 个英文字母组成的字符串:A-Za-z0-9+$验证由数字、26 个英文字母或者下划线组成的字符串:w+$验证用户密码:a-zA-Zw5,17$ 正确格式为:以字母开头,长度在 6-18 之间,只能包含字符、数字和下划线。验证是否含有 %=?$“ 等字符:%=?$x22+验证汉字:u4e00-u9fa5,0,$验证 Email 地址:w+-+.w+)*w+(-.w+)*.w+(-.w+)*$验证 InternetURL:http:/(w-+.)+w-+(/w-./?%var re = /b(a-z+)
3、 1b/gim; /创建正则表达式样式.var rv = ss.replace(re,“$1“); /用一个单词替代两个单词.最接近的等价 VBScript 代码如下:Dim ss, re, rvss = “Is is the cost of of gasoline going up up?.“ & vbNewLineSet re = New RegExpre.Pattern = “b(a-z+) 1b“re.Global = Truere.IgnoreCase = Truere.MultiLine = Truerv = re.Replace(ss,“$1“)请注意在 VBScript 代码中
4、,全局、大小写敏感性以及多行标记都是使用 RegExp 对象的适当属性来设置的。在 replace 方法中使用 $1 来引用所保存的第一个子匹配。如果有多个子匹配,则可以用 $2, $3 等继续引用。后向引用的另一个用途是将一个通用资源指示符 (URI) 分解为组件部分。假定希望将下述的 URI 分解为协议 (ftp, http, etc),域名地址以及页面/路径:http:/:80/scripting/default.htm下面的正则表达式可以提供这个功能。对 Visual Basic Scripting Edition,为:/(w+):/(/:+)(:d*)?(# *)/对 VBScrip
5、t 为:“(w+):/(/:+)(:d*)?(# *)“第一个附加子表达式是用来捕获该 web 地址的协议部分。该子表达式匹配位于一个冒号和两个正斜杠之前的任何单词。第二个附加子表达式捕获该地址的域名地址。该子表达式匹配不包括 、 / 或 : 字符的任何字符序列。第三个附加子表达式捕获网站端口号码,如果指定了该端口号。该子表达式匹配后跟一个冒号的零或多个数字。最后,第四个附加子表达式捕获由该 web 地址指定的路径以及或者页面信息。该子表达式匹配一个和多个除# 或空格之外的字符。将该正则表达式应用于上面所示的 URI 后,子匹配包含下述内容:RegExp.$1 包含 “http“RegExp.
6、$2 包含 ““RegExp.$3 包含 “:80“RegExp.$4 包含 “/scripting/default.htm“示例 1. 启动 Microsoft Visual Basic 6.0。 2. 在“文件”菜单上,单击“新建项目”。 3. 在“新建项目”对话框中,单击“Standard Exe”,然后单击“确定”。默认情况下将创建 Form1。 4. 在“项目”菜单上单击“引用”。 5. 双击“Microsoft VBScript Regular Expressions 5.5”,然后单击“确定”。 6. 在工具箱中,双击“命令按钮”。默认情况下, “Command1”将添加到窗体中
7、。 7. 双击“Command1”以打开代码窗口。 8. 将下面的代码粘贴到“Command1_Click”事件处理程序:MsgBox(TestRegExp(“is.“, “IS1 is2 IS3 is4“) 注意 这个示例中将对照“IS1 is2 IS3 is4”字符串检查 is. 模式。您可以将句点这一特殊字 符(.)用作通配符,这样,搜索模式就能够多匹配并多显示一个字符。如果您在搜索模式 中添加两个句点,您会看到两个其他字符。如果您不使用任何句点,您只会看到搜索模式。9. 将以下函数添加到“Command1_click”事件处理程序后:Function TestRegExp(myPatt
8、ern As String, myString As String)Create objects.Dim objRegExp As RegExpDim objMatch As MatchDim colMatches As MatchCollectionDim RetStr As String Create a regular expression object.Set objRegExp = New RegExpSet the pattern by using the Pattern property.objRegExp.Pattern = myPattern Set Case Insensi
9、tivity.objRegExp.IgnoreCase = TrueSet global applicability.objRegExp.Global = TrueTest whether the String can be compared.If (objRegExp.Test(myString) = True) ThenGet the matches.Set colMatches = objRegExp.Execute(myString) Execute search.For Each objMatch In colMatches Iterate Matches collection.Re
10、tStr = RetStr & “Match found at position “RetStr = RetStr & objMatch.FirstIndex & “. Match Value is “RetStr = RetStr & objMatch.Value & “.“ & vbCrLfNextElseRetStr = “String Matching Failed“End IfTestRegExp = RetStr End Function10. 在“运行”菜单上,单击“启动”来运行该应用程序。 11. 单击“Command1”。此时将出现一个消息框,该消息显示 IS1 is2 IS3 is4 字符串中的所有 is 匹配项。