для больше о Unicode и границах слова. Представленные решения применимы к библиотеке PCRE, но принципы должны быть применимы и к другим.

ользую библиотеку регулярных выражений posix c (regcomp / regexec) в своем поисковом приложении. Мое приложение поддерживает разные языки, в том числе те, которые используют многобайтовые символы. Я столкнулся с проблемой при использовании метасимвола границы слова (\ b). Для однобайтовых строк это работает просто отлично, например:

«\ bpaper \ b» соответствует «бумаге»

Однако, если строки регулярных выражений и запросов являются многобайтовыми, похоже, что они работают неправильно, например:

«\ b 紙張 \ b» не соответствует «紙張»

Я что-то пропустил? Любая помощь будет высоко ценится.

Запрашиваемая информация:

Язык программирования: CБиблиотека регулярных выражений: GNU C (regex.h)

Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос