论坛快速导航: 2009年素材区 矢量素材 图片素材 网页模板 原创作品 佳作欣赏 网页设计专区 摄影之家 PhotoShop CorelDraw Illustrator | 在线繁体字转换翻译工具 WAP RSS
返回简洁设计网首页
最新教程 推荐教程 热门教程
当前位置: 简洁设计网 > 设计教程 > 网站制作 > 网页技巧 > 正文
网页制作心得:揭开正则表达式的神秘面纱


1.5 修饰匹配次数的特殊符号


    前面章节中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。如果使用表达式再加上修饰匹配次数的特殊符号,那么不用重复书写表达式就可以重复匹配。


    使用方法是:"次数修饰"放在"被修饰的表达式"后边。比如:"[bcd][bcd]" 可以写成 "[bcd]{2}"。

表达式
 作用
 
{n}
 表达式重复n次,比如:"\w{2}" 相当于 "\w\w";"a{5}" 相当于 "aaaaa"
 
{m,n}
 表达式至少重复m次,最多重复n次,比如:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
 
{m,}
 表达式至少重复m次,比如:"\w\d{2,}"可以匹配 "a12","_456","M12344"...
 
?
 匹配表达式0次或者1次,相当于 {0,1},比如:"a[cd]?"可以匹配 "a","ac","ad"
 
+
 表达式至少出现1次,相当于 {1,},比如:"a+b"可以匹配 "ab","aab","aaab"...
 
*
 表达式不出现或出现任意次,相当于 {0,},比如:"\^*b"可以匹配 "b","^^^b"...
 

    举例1:表达式 "\d+\.?\d*" 在匹配 "It costs $12.5" 时,匹配的结果是:成功;匹配到的内容是:"12.5";匹配到的位置是:开始于10,结束于14。

    举例2:表达式 "go{2,8}gle" 在匹配 "Ads by goooooogle" 时,匹配的结果是:成功;匹配到的内容是:"goooooogle";匹配到的位置是:开始于7,结束于17。

 

1.6 其他一些代表抽象意义的特殊符号


    一些符号在表达式中代表抽象的特殊意义:

表达式
 
作用
 
^
 与字符串开始的地方匹配,不匹配任何字符
 
$
 与字符串结束的地方匹配,不匹配任何字符
 
\b
 匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符
 

    进一步的文字说明仍然比较抽象,因此,举例帮助大家理解。


    举例1:表达式 "^aaa" 在匹配 "xxx aaa xxx" 时,匹配结果是:失败。因为 "^" 要求与字符串开始的地方匹配,因此,只有当 "aaa" 位于字符串的开头的时候,"^aaa" 才能匹配,比如:"aaa xxx xxx"。


    举例2:表达式 "aaa$" 在匹配 "xxx aaa xxx" 时,匹配结果是:失败。因为 "$" 要求与字符串结束的地方匹配,因此,只有当 "aaa" 位于字符串的结尾的时候,"aaa$" 才能匹配,比如:"xxx xxx aaa"。


    举例3:表达式 ".\b." 在匹配 "@@@abc" 时,匹配结果是:成功;匹配到的内容是:"@a";匹配到的位置是:开始于2,结束于4。


    进一步说明:"\b" 与 "^" 和 "$" 类似,本身不匹配任何字符,但是它要求它在匹配结果中所处位置的左右两边,其中一边是 "\w" 范围,另一边是 非"\w" 的范围。


    举例4:表达式 "\bend\b" 在匹配 "weekend,endfor,end" 时,匹配结果是:成功;匹配到的内容是:"end";匹配到的位置是:开始于15,结束于18。

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

点击进入论坛和大家一起交流设计,分享设计素材,结交设计朋友
设为首页 | 加入收藏 | 关于我们 | 联系我们 | 合作伙伴 | 版权信息 | 广告联系 | 友情链接 | 网站地图
版权所有 简洁设计网 [www.jianjie8.com] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.Jianjie8.Com All Rights Reserved
陇ICP备05003399号