str.find
и его брат rfind
имеют start
и end
args.
alpha = 'qawsed'
bravo = 'azsxdc'
startpos = text.find(alpha) + len(alpha)
endpos = text.find(bravo, startpos)
do_something_with(text[startpos:endpos]
Это самый быстрый способ, если содержащийся текст короткий и находится спереди.
Если содержащийся текст относительно велик, используйте:
startpos = text.find(alpha) + len(alpha)
endpos = text.rfind(bravo)
Если содержащийся текст короткий и ближе к концу, используйте:
endpos = text.rfind(bravo)
startpos = text.rfind(alpha, 0, endpos - len(alpha)) + len(alpha)
Первый метод в любомдело лучше, чем наивный метод начала второго поиска с начала текста;используйте его, если у вашего текста нет доминирующего шаблона.