У меня есть файл .txt
, и цель состоит в том, чтобы найти все слова в файле, содержащие n гласных, используя только регулярные выражения.
import re
def main():
n = int(input("Enter a number: "))
file = input("Enter file name: ")
f = open(file,'r')
print(re.findall("[A-Za-z]*[AEIOUaeiou]"+str({n})+"[b-df-hj-np-tv-z]*",f.read()))
f.close()
main()
Когда я ставлю 1 вместо n, я получаю каждое слово с гласной. Но когда я ставлю 2, я получаю только слова, в которых гласные сгруппированы, например, слово книга. Это происходит для любого числа для n. Я пробовал множество способов и просто не могу понять это.
Мне нужна помощь в том, как найти слово, в котором есть 2 гласных (или больше), которые не просто сгруппированы вместе. Например, для n = 2, ['these','look','hello']
Любая помощь очень ценится.