Python: Как сопоставить строку с общей датой посередине - PullRequest
0 голосов
/ 16 февраля 2019

В поисках питонического способа сопоставления строки (имя файла в моем случае) с любой датой в формате в середине строки.

Например.python-1u222-ea-str-b08- 10_dec_2018 .zip Я пытаюсь получить в python способ сопоставления вышеуказанной строки с любой датой вместо 10_dec_2018

element = "python-1u222-ea-str-b08-10_dec_2018.zip"
m = re.match("python-1u222-ea-str-b08-\"+\"[\d]{1,2}_[ADFJMNOS]\w*_[\d]{4}\"+\".zip",element)
if m:
    print("Hurray!!! ")
else:
    print(element, " : doesn't match")

Эточто я пробовал, но не соответствует.Я чувствую, что множественные двойные кавычки в re.match является виновником здесь.Я новичок в Python.

Ответы [ 3 ]

0 голосов
/ 16 февраля 2019
import re

element = "python-1u222-ea-str-b08-10_dec_2018.zip"
m = re.match("python-1u222-ea-str-b08-[\d]{1,2}_\w{3}_[\d]{4}.zip", element)

print("Hurray!!! ") if m else print(f"'{element}' doesn't match")

Выход:

Hurray!!!

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

Я думаю, у нас есть некоторые недостающие отведения.Я перефразирую его требуемым образом.

У меня есть список из нескольких файлов, таких как:

python-1u222-ea-str-b08-10_dec_2018.zip
pyth_plugin-1u222-ea-str-b08-windows-10_dec_2018.zip 
pyth_plugin-1u222-ea-str-windows.zip 
python-1u222-ea-str-b08-10_dec_2018.zip 
python-1u222-ea-str-b08-sec-10_dec_2018.zip 
python-1u222-ea-str-b08-sec_bcc-10_dec_2018.zip 
pyt-1u222-ea-str-security.zip 
pyt-1u222-ea-str-security_ecc.zip 
pyt-1u222-ea-str.zip 
epython-1u222-ea-str-b08-10_dec_2018.zip 
epyt-1u222-ea-str.zip 

Дата в этих именах файлов изменится.Я ищу способ проверить наличие каждого из этих файлов, но только с разными датами.

В моем вопросе, python-1u222-ea-str-b08-10_dec_2018.zip это просто пример.

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

Вы можете просто использовать:

wanted_text = "python-1u222-ea-str-b08"
test = "python-1u222-ea-str-b08-10_dec_2018.zip"

if wanted_text in test:
  print("Hurray")
else:
  print("doesn't match")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...