正則表達式——7.4 單詞邊界
阿新 • • 發佈:2018-12-13
python 2 說明 tex 中文字符 img rip 字符串 image 表達式
??單詞邊界的準確解釋是:一端必須出現\w
能匹配的字符,另一端不出現\w
能匹配的字符。在JavaScript、PHP、Python 2、Ruby中,\w
只能匹配[0-9a-z-A-Z_]
。所以在這些語言中,\b\w+\b
能用來匹配幾乎所有的英文單詞。
字符串 | 正則表達式 | 能否匹配 | 說明 |
---|---|---|---|
tom,jerry(半角標點) | \btom\b | 能 | \w不能匹配半角標點 |
tom,jerry(全角標點) | \btom\b | 否 | \w可以匹配全角標點 |
tom和jerry | \b和\b | 否 | \w可以匹配中文字符 |
湯姆,jerry(半角標點) | \btom\b | 能 | \w不能匹配半角標點 |
湯姆,jerry(全角標點) | \btom\b | 否 | \w可以匹配全角標點 |
??總的來說,如果使用 Unicode 匹配規則,盡量不要在處理中英文混排文本時使用\b
。如果使用 ASCII 匹配規則,則可以再處理英文文本時放心地使用\b
。
??也有更復雜的情況,比如 Java 就是如此。在 Java 中,雖然\w
只能匹配[0-9a-zA-Z_]
,\b
對“單詞字符”的判斷確實按照 Unicode 匹配規則的。後面有詳情
正則表達式——7.4 單詞邊界