Java正则表达式中\w和\b的Unicode等价物?
许多现代regex实现解释了\w
字符类速记为“任何字母、数字或连接标点符号”(通常为:下划线)。那样的话,就像\w+
匹配像这样的单词hello
, élève
, GOÄ_432
或gefräßig
.
不幸的是,Java没有。在Java中,\w
仅限于[A-Za-z0-9_]
..这使得像上面提到的匹配词很难匹配,还有其他的问题。
似乎\b
单词分隔符在不应该匹配的地方匹配。
什么才是与.NET类似的、Unicode感知的正确的等价物?\w
或\b
在爪哇?还有哪些快捷键需要“重写”才能让他们知道Unicode?