Почему бы не сделать смешанный подход?Что-то между списком всех возможностей и сложным регулярным выражением, которое слишком сильно совпадает.
Регулярное выражение - это сопоставление с образцом, и я не вижу шаблон для всех вариантов в списке.Попытка сделать это также найдет такие вещи, как «Gazzafy» или «Quud'haffi», которые, скорее всего, не являются используемым вариантом и определенно отсутствуют в списке.
Но я вижу шаблоны для некоторых вариантови в итоге я получил следующее:
\b(?:Gheddafi|Gathafi|Kazzafi|Kad'afi|Qadhdhafi|Qadthafi|Qudhafi|Qu?athafi|[KG]h?add?h?aff?[iy]|Qad[dh]?afi)\b
Вначале я перечисляю те, где я не вижу паттерн, а затем несколько вариантов, где есть паттерны.
Смотрите здесь на www.rubular.com