Проблема, возникающая при сопоставлении шаблона регулярного выражения со списком имен - PullRequest
0 голосов
/ 06 мая 2020

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

  • DR. ДЖОН ГРОВ УАЙТ
  • РОНАЛЬД МАКДОНАЛД
  • ГОРДОН СЕНТ-ДЖОН
  • АРТУР СТИВЕНС
  • ГЕЙЛ ВАН СТОЛК
  • АНВАР АЛЬ-САДАТ
  • SYMS III, ROGER
  • ROGER SYMS V

Для приведенного выше списка я реализовал шаблон регулярного выражения. Шаблон регулярного выражения работает правильно, когда я помещаю его на веб-сайты тестирования регулярных выражений, но он не работает в коде

Regex.IsMatch(value, @"(/^(van|von|der|la|d[aeio]|d[ao]s|dit)[\s,]*$/i)")

Вышеуказанное не соответствует, когда я передаю значение как van в коде

Regex.IsMatch(value, @"(/(^|\s)+(Mc|[DO]\'|St\.|St[\.]?[\s]|Dewolf)/i)")

Вышеуказанное не работает, когда я передаю значение как Макдональд

Regex.IsMatch(value, @"(/(^|\s*)(Mac)(allist|arth|b|c(allu|art|ask|l|r|ull)|d|f|g|i(nn|nty|saa|v)|kinn|kn|l(a|ea|eo)|m|na[mu]|n[ei]|ph|q|ra|sw|ta|w)/i)")
*

Приведенное выше регулярное выражение не совпадает, когда я передаю значение как Макдональд

Я не могу узнать, есть ли какие-либо проблема в регулярном выражении. Пожалуйста, помогите мне с вышеуказанным. Заранее спасибо

...