通过本文主要向大家介绍了维持族群边界的基础有,边界层气象学基础,边界元法基础,单词边界,边界的英文单词等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1概述
“\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”在几种语言中匹配的例子
JavaScript
此处的“\b”表示的是退格键,而不是单词边界。 </div>
“\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”在几种语言中匹配的例子
JavaScript
此处的“\b”表示的是退格键,而不是单词边界。 </div>