下载此文档

正则表达式——斜杠b-单词边界.docx


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
“\b”匹配单词边界,不匹配任何字符。“\b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“\b”是零宽度的。基本上所有的资料里都会说“\b”是单词边界,但是关于“单词”的范围却是少有提及。通常情况下,正则表达式中所谓的“单词”,就是由“\w”所定义的字符所组成的子串。“\b”表示所在位置的一侧为单词字符,另一侧为非单词字符、字符串的开始或结束位置,也就相当于(?<!\w)(?=\w)|(?<=\w)(?!\w)思考:以下写法为什么不等价于“\b”(?<=\W)(?=\w)|(?<=\w)(?=\W)2\w的范围即然涉及到“\w”,那就要先考察一下它的范围。在支持ASCII码的语言中,如JavaScript,“\w”等价于[a-zA-Z0-9_];在支持Unicode的语言中,,默认情况下,“\w”除可以匹配[a-zA-Z0-9_]外,还可以匹配一些Unicode字符集,如汉字,全角数字等等。几乎所有常见的语言都遵循这样一个规律,只有Java是个例外。在Java中,“\w”的表现是比较奇怪的,Java是支持Unicode的,但Java的正则中的“\w”却是等价于[a-zA-Z0-9_]的。先来看一下“\w”在几种语言中匹配的例子JavaScript<scriptlanguage="javascript">varstr="abc_123中文_d3=efg汉字%";varreg=/\w+/g;vararr=(reg);if(arr!=null){for(vari=0;i<;i++){(arr[i]+"<br/>");}}</script>/*--------JavaScript中输出--------abc_123_d3Efg*/C#stringtest="abc_123中文_d3=efg汉字%";MatchCollectionmc=(test,@"\w+");foreach(Matchminmc){+=+"\n";}/*--------C#中输出--------abc_123中文_d3efg汉字*/JavaStringtest="abc_123中文_d3=efg汉字%";Stringreg="\\w+";Matcherm=pile(reg).matcher(test);while(()){(());}/*--------Java中输出--------abc_123_d3Efg*/可以看到,“\w”在Java中的输出和JavaScript中是一样的,都是只支持ASCII字符。3\b的范围常见语言中“\w”的范围确定了,那么是不是可以认为“\b”的匹配范围与“\w”也是一致的呢?再看下下面的例子:源字符串:abc_123中文_d3=汉字efg正则表达式:.\<scriptlanguage="javascript">varstr="abc_123中文_d3=efg汉字%";varreg=/.\b./g;vararr=(reg);if(arr!=null){for(var

正则表达式——斜杠b-单词边界 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小19 KB
  • 时间2020-04-06