Хотите пройти через строки в файле и захватить определенные части из них.python regex для захвата определенных частей линии
Линии выглядеть следующим образом "2584 \ tM108 \ Tk: 14%" "2585 \ tM108 \ Tk: 14% \ Tn: 10%"
Я написал следующие выражения, но они, кажется, не сбив с толку ... Во-первых, я хочу захватить M10 * и K и соединить их вместе, беря только первую запись после M10 * (в приведенном выше примере K).
Mutation = re.sub(r'.*\t(.*)\t.*:(.*)%.*', r'\1\2', line)
Я хочу Мутация = M108K
Во-вторых, я хочу, чтобы захватить процент без символа%
Percentage = re.sub(r'.*\t.*\t.*:(.*)%.*', r'\1', line)
Я хочу, чтобы в процентах = 14
Не очень практиковали пишут выражения, они действительно не работают и неэффективны. Любая помощь в их исправлении/оптимизации.
Интересно, почему те, кто отвечает редко upvote вопросы они ответить. +1 от меня, и это мой намек: не принимайте ленивое соответствие как должное, а также посмотрите на классы с отрицанием символов. Например. '[^ \ t]' соответствует любому символу, кроме закладки. –
@stribizhev Я не сторонник этого вопроса. ya '. *?' будет заменен на '[^ \ t]', но '. *?' более понятно .. –