Удалить конкретный шаблон из текста с помощью регулярных выражений в Python3 - PullRequest
0 голосов
/ 10 февраля 2019

Я хочу удалить «2019/01 / 31-11: 56: 23.288258 1886 7F0ED4CDC704» из text.txt с помощью регулярного выражения.

text.txt
2019/01/31-11:56:23.288258 1886     7F0ED4CDC704     asfasnfs: remove datepart
2019/01/31-11:56:23.288258 1886     7F0ED4CDC704     asfasnfs: remove datepart
2019/01/31-11:56:23.288258 1886     7F0ED4CDC704     asfasnfs: remove datepart
2019/01/31-11:56:23.288258 1886     7F0ED4CDC704     asfasnfs: remove datepart

Ожидаемый результат:

 asfasnfs: remove datepart
 asfasnfs: remove datepart
 asfasnfs: remove datepart
 asfasnfs: remove datepart

* Мое решение * Удалить часть даты.Я написал ниже регулярное выражение:

**2019/01/31-11:56:23.288258**
p = '\d{4}/\d{2}/\d{2}-d{2}:\d{2}:\d{2}.\d{6}'

import re
test = re.sub(p,'', text)

Шаблон p не работает.Это дает текст как есть.И я не уверен, как удалить всю часть текста с помощью регулярных выражений.

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

Попробуйте поискать это:

^.{53}

и замените на пустое.

0 голосов
/ 11 февраля 2019

Ваш шаблон соответствует только первой части строки.Чтобы этот шаблон работал, вы должны экранировать точку, чтобы буквально соответствовать ей, и добавить обратную косую черту перед d:

\d{4}/\d{2}/\d{2}-\d{2}:\d{2}:\d{2}\.\d{6}
                  ^                ^

Чтобы соответствовать части, чтобы она оставила ожидаемый результат, вы можете использоватьэтот шаблон после него, где [ \t]+ будет соответствовать 1+ раз пробел или табуляция.Если нет вкладок, вы можете использовать только пробел.

[ \t]+\d{4}[ \t]+[A-Z0-9]{12}[ \t]+

Полный шаблон может выглядеть следующим образом:

\d{4}/\d{2}/\d{2}-\d{2}:\d{2}:\d{2}\.\d{6}[ \t]+\d{4}[ \t]+[A-Z0-9]{12}[ \t]+

Демонстрация на regex101 | Python demo

0 голосов
/ 10 февраля 2019

Попробуйте это

import re
p = '\d{4}\/\d{2}\/\d{2}-\d{2}:\d{2}:\d{2}.\d{6}'
test = re.sub(p,'', text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...