для больше о Unicode и границах слова. Представленные решения применимы к библиотеке PCRE, но принципы должны быть применимы и к другим.
ользую библиотеку регулярных выражений posix c (regcomp / regexec) в своем поисковом приложении. Мое приложение поддерживает разные языки, в том числе те, которые используют многобайтовые символы. Я столкнулся с проблемой при использовании метасимвола границы слова (\ b). Для однобайтовых строк это работает просто отлично, например:
«\ bpaper \ b» соответствует «бумаге»
Однако, если строки регулярных выражений и запросов являются многобайтовыми, похоже, что они работают неправильно, например:
«\ b 紙張 \ b» не соответствует «紙張»
Я что-то пропустил? Любая помощь будет высоко ценится.
Запрашиваемая информация:
Язык программирования: CБиблиотека регулярных выражений: GNU C (regex.h)Благодарю.