Соответствие регулярных выражений схожим символам в C # /. Net - PullRequest
0 голосов
/ 02 июля 2010

Есть ли способ получить .Net для положительного соответствия строк, даже если некоторые символы не совпадают?Примерами символов, которые следует считать схожими, могут быть: «a» / «á» и «í» / «i»Браузер Chrome find-as-you-type распознает эти символы как эквивалентные.

Ответы [ 3 ]

2 голосов
/ 02 июля 2010

Взгляните на это сообщение в блоге Майкла Каплана. Код здесь использует стандартные методы библиотеки классов .NET для

  1. Нормализация строк Unicode, в этом случае с использованием «составной» формы нормализации, которая гарантирует, что символ, такой как , будет представлен отдельными кодовыми точками для a и его диакритическими символами );
  2. Идентификация диакритических знаков с использованием классов, предоставляющих базы данных с информацией о символах Юникода, и удаление их.
0 голосов
/ 02 июля 2010

Может быть, вы хотите изучить функции Soundex / Метафон , чтобы сначала нормализовать строки, а затем выполнить операции регулярного выражения с результатами этого?

0 голосов
/ 02 июля 2010

Конечно, это возможно, если вы сами напишите алгоритм.Единственное, что близко к тому, что вы говорите с перегрузками OOB Regex.Match (), это RegexOptions, CultureInvariant. Но, если вы не переключаете культуру, это не будет иметь никакого смысла.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...