У меня есть список имен, для которых я пытаюсь реализовать правильный регистр - список имен выглядит следующим образом:
- 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)")
*
Приведенное выше регулярное выражение не совпадает, когда я передаю значение как Макдональд
Я не могу узнать, есть ли какие-либо проблема в регулярном выражении. Пожалуйста, помогите мне с вышеуказанным. Заранее спасибо