Как объединить два текстовых файла, используя python и regex - PullRequest
0 голосов
/ 10 сентября 2018

Вот что я получил: (Отредактировано после чёткого ответа.)

import re
File1 = open('text.txt', 'r')
regex = re.compile(r'\b(?:[12]?\d{1,4}|30{4})#[^#]+#')
string = File1.read()
itemdesc = regex.findall(string)
for word in itemdesc:
    print (word)

Используя: \ b (?: [12]? \ D {1,4} | 30 {4}) # [^ #] + # я могу найти:

5173#bunch of text here
of, bunch here, text
text here, bunch of
#

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

\b(?:number)#[^#]+#

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

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

Надеюсь, что вы, ребята, можете помочь, любая помощь приветствуется, она не должна быть решением. :)

1 Ответ

0 голосов
/ 10 сентября 2018

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

import re
File1 = open('text.txt', 'r')
regex = re.compile(r'\b(?:[12]?\d{1,4}|30{4})#[^#]+#')
string = File1.read()
itemdesc = regex.findall(string)
for word in itemdesc:
    print (word)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...