非单词边界匹配除单词边界之外的位置,比如单词或者字符串中的字母或数字。例如 \Be\B 匹配字母e,而匹配的字母 e 的两边都是其他字母或者是非单词字符。...regexp_replace(a,'\\bthe\\b','') 将原字符串中的 the 单词替换掉,用 \b 确定单词边界。regexp_replace函数缺省不区分大小写。...regexp_replace(a,'\\s+','',1,0,'m') 使用多行模式替换掉所有空行。...regexp_replace(..., '\\.|,|\\?|"|:|;',' ') 将所有相关标点符号替换成空格,用于外层的 \w+ 匹配。...length(regexp_replace(..., '\\w',''))/2 将所有匹配单词替换掉后,剩下的空格个数即为单词数量。/2 的原因如上所述。\w+ 匹配的结果如下图所示。