Я пишу регулярные выражения для текста Unicode на Java. Однако для конкретной письменности, которую я использую - Деванагари (09:00 - 097F) есть проблема с границами слов. \b соответствует символам, которые являются зависимыми гласными (например, 093E-094C), поскольку они обрабатываются как символы пробела.
Пример: Предположим, у меня есть строка: «कमल कमाल कम्हल कम्हाल». Обратите внимание, что «मा» во втором слове образуется путем сочетания म и ा (распознается как символ пробела). Аналогично в последнем слове. Это приводит к тому, что \b соответствует 'ल' в 'कमाल' с регулярным выражением \b\w\b, которое неверно для языка.
Я надеюсь, что пример поможет.
Могу ли я написать регулярное выражение, которое ведет себя как \b, за исключением того, что оно не соответствует определенным символам? Любая обратная связь будет признательна.