Многие современные реализации регулярных выражений интерпретируют стенографию класса \w
как "любую букву, цифру или связывание знаков препинания" (обычно: подчеркивание). Таким образом, регулярное выражение, подобное \w+
, соответствует словам типа hello
, élève
, GOÄ_432
или gefräßig
.
К сожалению, Java нет. В Java \w
ограничивается [A-Za-z0-9_]
. Это делает совпадающие слова, подобные упомянутым выше, сложными, среди других проблем.
Также кажется, что разделитель слов \b
соответствует местам, в которых он не должен.
Каким будет правильный эквивалент .NET-like, поддерживающего Unicode \w
или \b
в Java? Какие другие ярлыки нуждаются в "переписывании", чтобы сделать их доступными для Unicode?