Список конечных согласных кластеров слова на немецком языке - PullRequest
1 голос
/ 08 марта 2019

Я написал программу, которая находит и считает начальные группы согласных в немецком и испанском текстах.Я хочу регулярное выражение, которое найдет кластеры на конечных позициях.Использование \ b или $ не работает.Может ли кто-нибудь помочь мне определить, как я должен изменить свое регулярное выражение, чтобы оно работало для конечных кластеров согласных?

У меня в настоящее время есть что-то подобное для начальных кластеров:

for w in words:
    initial = re.search('^([^aeiouy]*)[aeiouy]',w)

Или что-то вроде этого:

 initial = re.search('^[^aeiouy]{2,}',w)

1 Ответ

0 голосов
/ 08 марта 2019

Вы, кажется, хотите извлечь куски из 2 или более согласных букв в конце строки.

Вы можете использовать

(?:(?![aeiou])[a-z]){2,}$

См. Демонстрационную версию regex .

Подробности

  • (?: - начало группы без захвата:
    • (?![aeiou]) - отрицательный прогноз, которыйне совпадает, если следующий символ является гласной
    • [a-z] - буквой ASCII (режим без учета регистра может быть установлен с флагом re.I)
  • ){2,} - конец группы, 2 или более вхождений
  • $ - конец строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...