最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > asp教程

ASP正则表达式技巧

日期:08-01    来源:中国设计秀    作者:cnwebshow.com

正则表达式:RoH中国设计秀
RoH中国设计秀
正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。正则以其简单、实用、快速深得广大编程人员的热爱。RoH中国设计秀
RoH中国设计秀
编写正则一些思维:RoH中国设计秀
RoH中国设计秀
1、首先,确定规则。你需要匹配一个什么样字符串,它有哪几部分构成,它有哪些特征。RoH中国设计秀
RoH中国设计秀
2、提出最小单位。有的时候,一些匹配规则是重复的,我们可以试着找到共同点,规划为一条规则。RoH中国设计秀
RoH中国设计秀
3、根据其规则、最小单位,逐一写出正则RoH中国设计秀
RoH中国设计秀
4、将这些单位正则组合统一,构成你想要的完整正则。RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
在这里我们就需要了解一些基本的标记和用法,任何的规则都是用基本标记组合而成的。而正则的标记也很简单,大家不妨了解一下。RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
正则表达式中常用的标记RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
1 正则表达式中常用的标记 2  ^    |   行或字符串开头 3 $    |   行或字符串末尾 4  .    |   除换行符外的字符 5  w   |   单词字符 (数字、字母或下划线) 6  W   |   非单词字符 7  d   |   数字(等同于【0-9】) 8  D   |   非空白字符 9 10  A   |   字符串开头11  Z   |   字符串末尾或最后的换行符钱12  z   |   字符串末尾13 14  s   |   空白字符15  S   |   非空白字符16 17  b   |   单词边界(【】外)18  B   |   非单词边界19  b   |   退格(在【】内)20 []   |   集合中的任何一个字符,中间使用连字符,则表示范围,如:[0-9],[a-z]21  ?    |   0或1个之前的表达式22  |    |   或23 ( ) |   子表达式编组24 25  *    |   零或多个之前的表达式26  *?   |   零或多个之前的表达式(非贪婪)27  +    |   1个或多个之前的表达式28  +?   |   1个或多个之前的表达式(非贪婪)29 {m,n}|   m-n个之前的表达式30 {m,n}? | m-n个之前的表达式(非贪婪的)31 32 33 还有{?=} {?!} (?>) (?#) (?imx-imx)等RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
最基本的实例:RoH中国设计秀
RoH中国设计秀
1 #匹配整个字符串 2 puts /ruby/ =~ "ruby"   # 0 3 puts /ruby/ =~ "Ruby"   # nil 4  5 #匹配行或字符串开头与结尾 6 str = "abcdef" 7 puts str 8 puts /^abc/ =~ str   # 0 9 puts /def$/ =~ str   # 310 11 str = "abcndefn"12 puts /^abc/ =~ str   # 013 puts /def$/ =~ str   # 414 puts /abc/ =~ str    # 015 puts /def/ =~ str    # 416 17 #匹配字符串本身的开头和结尾18 str = "abcndefn"19 puts /Aabc/ =~ str    # 020 puts /defZ/ =~ str    # 421 puts /defz/ =~ str    # nil22 23 #匹配单词字符24 puts "匹配单词字符"25 pattern = /w/26 puts pattern =~ "abc"  # 027 puts pattern =~ "."    # nil28 29 #匹配整数30 # d 数字31 # D 非数字32 puts "匹配数字"33 puts /d/ =~ "122"   #034 puts /D/ =~ "122"   #nil35 puts /D/ =~ "abc"   #036 37 38 #边界39 str = "This is your friend!"40 puts str41 puts str.gsub(/b/,"|")   # |This| |is| |your| |friend|!42 puts str.gsub(/B/,"-")   # T-h-i-s i-s y-o-u-r f-r-i-e-n-d!-43  RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
限定符实例RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
1 puts "限定符" 2 puts "限定符:*" 3 puts /(abc)*/ =~ "a"      # 0 4  puts /(abc)*/ =~ "abc"    # 0 5   6  7 puts "限定符:+" 8 puts /(abc)+/ =~ "a"      # nil 9  puts /(abc)+/ =~ "abc"    # 010  11 puts "限定符:?"12 puts /(abc)?/ =~ "c"      # 013  puts /(abc)?/ =~ "abc"    # 014 15 16 puts "限定符: {n}"17 puts /(abc){2}/ =~ "abc" # nil18 puts /(abc){2}/ =~ "abcabc" # 019 20 puts "限定符: {n,}"21 puts /(abc){2,}/ =~ "abc" # nil22 puts /(abc){2,}/ =~ "abcabc" # 023 24 puts "限定符: {n,m}"25 puts /(abc){2,3}/ =~ "abc" # nil26 puts /(abc){2,3}/ =~ "abcabcabc" # 027 28 puts "限定符: *?"29 puts /(abc)*?/ =~ "a"      # 030 puts /(abc)*?/ =~ "abcabc" # 031 32 puts "限定符: +?"33 puts /(abc)+?/ =~ "a"      # nil34 puts /(abc)+?/ =~ "abcabc" # 035 36 puts "限定符: ??"37 puts /(abc)??/ =~ "a"      # 038 puts /(abc)??/ =~ "abcabc" # 039 40 41 #匹配, {1} {3}42 # {3}能匹配,那{1}肯定能匹配,反过来不成立43 # 匹配范围:{1} > {3}RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
常用实例:RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
1 puts "例子" 2 #匹配电话号码: 3 #一般中国的电话号码为7-8位,区号3-4位整数,区号第一位是0,中间用分隔符‘-’ 4 #注意首尾限制符 5 pattern = /^0d{2,3}-d{7,8}$/ 6 puts pattern =~ "010-82809999"   # 0 7 puts pattern =~ "00010-82809999" # nil 8  9 #匹配手机号码10 # 1开头,第二位为3、5、8,11位数字11 pattern = /^1[3,5,8]d{9}$/12 puts pattern =~ "15810990001"  #013 14 #身份证号码15 pattern = /d{18}|d{15}/16 17 #匹配ip18 #四组不大于255的整数组成,中间用'.'分隔19 puts "IP"20 num = /^d|[01]?d{1,2}|2[0-4]d|25[0-5]/21 pattern = /^(#{num}.){3}#{num}$/22 #一个整体:pattern =   /^(^d|[01]?d{1,2}|2[0-4]d|25[0-5].){3}^d|[01]?d{1,2}|2[0-4]d|25[0-5]$/23 puts pattern =~ "127.0.0.1"    # 024 puts pattern =~ "254.255.255.255"25 26 #匹配电子邮箱27 pattern = /^w+@w+.w+$/         #这个没有 ‘-’28 pattern = /^[w-]+@[w-]+.[w-]+$/29 puts pattern =~ "abc@Gmail.com"  #030 31 # 匹配url32 # http://www.google.cn33 pattern = /(http|https|ftp):(//|\)((w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(((/[~]*|[~]*)34 (w)+)|[.](w)+)*(((([?](w)+){1}[=]*))*((w)+){1}([&](w)+[=](w)+)*)*/35 36 puts pattern =~ "http://www.google.cn?uid=123"  #0RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
其它RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
RoH中国设计秀
贪婪的意义 RoH中国设计秀
1 puts "贪婪的" 2 #贪婪的,就是匹配尽可能长的字符串 3 # '.' 含义:除换行符外的字符 4 str = "where the sea meets the moon-blanch'd land" 5 puts str 6 match = /.*the/.match(str) 7 puts match[0]  #  where the sea meets the,*是贪婪的。如果不想贪婪就在其后加+ '?' 8 #*?非贪婪 9 match = /.*?the/.match(str)10 puts match[0]  # where the11 12 str.insert(0,"Hello n")13 match = /.*?the/.match(str)14 puts match[0]   #where theRoH中国设计秀
RoH中国设计秀

本文引用地址:/bc/article_46132.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明