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

  • 3
  • 0
  • 约2.4千字
  • 约 5页
  • 2017-09-05 发布于浙江
  • 举报
正则表达式——斜杠b 单词边界

“\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的语言中,如.NET,默认情况下,“\w”除可以匹配[a-zA-Z0-9_]外,还可以匹配一些Unicode字符集,如汉字,全角数字等等。几乎所有常见的语言都遵循这样一个规律,只有Java是个例外。在Java中,“\w”的表现是比较奇怪的,Java是支持Unicode的,但Java的正则中的“\w”却是等价于[a-zA-Z0-9_]的。先来看一下“\w”在几种语言中匹配的例子JavaScriptscriptlanguage=javascriptvar str = abc_1

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档