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