Получить конкретную повторяющуюся часть в текстовом файле с помощью модуля re

#python

#python

Вопрос:

как я могу скопировать повторяющийся абзац в текстовый файл, начинающийся и заканчивающийся определенными словами, используя модуль re, и вставить каждый абзац в индекс списка

пример абзаца

 RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140116/cleanup/stat_KSHA500 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140200/cleanup/stat_KSHA11 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_1500/cleanup/stat_KSHA211 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
  

Комментарии:

1. Честно говоря, я понятия не имею, что вы имеете в виду. Каков ваш ожидаемый или желаемый результат?

2. требуется вывод списка, в котором каждая строка индекса начинается с remoteconfig и заканчивается ssh2 с использованием re

3. Надеюсь, мое решение поможет

Ответ №1:

Языковые барьеры в сторону, на основе ваших критериев попробуйте это

 >>> import re

>>> string = '''RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140116/cleanup/stat_KSHA500 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140200/cleanup/stat_KSHA11 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_1500/cleanup/stat_KSHA211 --conf /export/home-V cisco -N -S -o -P telnet,ssh2'''


>>> configs = re.findall('(?i)RemoteConfig[Ss]*?ssh2(?=s|$)', string)


>>> for config in configs:
        print(config)

#Output
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140116/cleanup/stat_KSHA500 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140200/cleanup/stat_KSHA11 --conf /export/home-V cisco -N -S -o -P telnet,ssh2
RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_1500/cleanup/stat_KSHA211 --conf /export/home-V cisco -N -S -o -P telnet,ssh2




>>> configs

#Output
['RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140116/cleanup/stat_KSHA500 --conf /export/home-V cisco -N -S -o -P telnet,ssh2', 'RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_140200/cleanup/stat_KSHA11 --conf /export/home-V cisco -N -S -o -P telnet,ssh2', 'RemoteConfig cleanup.txt --prefix  /tftpboot/sites --status  /tftpboot/190315_1500/cleanup/stat_KSHA211 --conf /export/home-V cisco -N -S -o -P telnet,ssh2']