Как найти шаблон максимального соответствия в данных в Python - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть формат в файле file.txt, в котором есть такие строки: babies: n: baby flyies: n: fly ladies: n: lady sheep: n: мебель для овец: n: багажная мебель: n: багаж и т. Д.Теперь мне нужно извлечь только общий шаблон между f1 и f3 и написать в следующем формате: пример: дети здесь, дети имеют общий шаблон до тех пор, пока 'bab' и 'ies' не будут добавлены в следующих словах.Формат: <e lm="babies"><i>bab</i><par n="bab"/></e>

1 Ответ

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

Ваш вопрос неясен, было бы здорово, если бы вы могли объяснить больше.

, но я думаю, что вы хотите использовать регулярное выражение (регулярное выражение).Вот хороший веб-сайт для игры с регулярным выражением: https://regex101.com/

в Python, вы можете использовать модуль re (import re).

, если у вас есть строка типа "babies: n: baby"Вы можете извлечь сходство с помощью регулярного выражения: (\w+).*:n:(\1).*, что означает: (\ w +) - найти последовательность букв алфавита: n: -, а затем найти: n: (\ 1) - и затем то же слово, которое мы поймали впервый ()

пример Python:

для одного поиска:

import re

pattern = r"(\w+).*:n:(\1).*"
result = re.search(pattern, word)
return result.group()

и для многих запросов:

import re

pattern = r"(\w+).*:n:(\1).*"
result = re.findall(pattern, word)
return result
...