Использование или (|) не возвращает результаты, равные отдельным регуляторамPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Использование или (|) не возвращает результаты, равные отдельным регуляторам

Сообщение Anonymous »

Вот задача задачи: < /p>

Верните исходный текст, где в этом исходном тексте: < /p>

После каждого согласного случайный гласный был вставлен < /li>
После каждого гласного ввода была заменена < /li>
. /> < /blockquote>
И что я попробовал: < /p>

Код: Выделить всё

text = "hieeelalaooo"  #original string is hello
pat1 = "(?=[^aeiouy][aeiouy])\\w" #const then random vowel
ans1=re.findall(pat1,text)
#ans1 = ['h', 'l', 'l']
pat2 = "([aeiouy])\\1\\1" #vowel replicated twice
ans2=re.findall(pat2,text)
#ans2 = ['e', 'o']
ans = re.findall(pat1 + "|" + pat2, text)
#ans = ['', 'e', '', '', 'o']
Я надеялся, что Ans будет 'hello' . Я уверен, что есть многочисленные способы достичь цели, но мне интересно, почему это не работает.

Подробнее здесь: https://stackoverflow.com/questions/797 ... al-regexes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»