у меня есть текстовый файл, которые содержат некоторые запросы как ниже.
leptop
pencil
group
leptop
book
gruop
buk
grop
laftop
pensil
laptop
pancil
laptop bag
bok
от этого я просто хочу запрос, которые запускаются с буквы "l" и концов с "op". я должен сделать с regex.
я попробовал ниже.
a = re.search("^l.*op",line).group(0)
но я добираюсь
leptop
leptop
laftop
laptop
laptop # this one i don't want. because it's coming from the word "laptop bag"
нуждаюсь в некоторой ценной помощи.
есть ли любой способ добраться как ниже.
[leptop, leptop, laftop, ноутбук] [карандаш, карандаш, карандаш] [группа, gruop, grop] [книга, buk, bok] [мешок ноутбука]
Вам нужен конец привязки к строке $
для Вас regex:
import re
a = re.search("^l.*op$",line).group(0)
op$
Соответствия op
от конца строки или незадолго до новой строки в конце строки.
Вам на самом деле не нужен regex для этого. string.startswith
и string.endswith
функция сделает это задание.
$ python3 -c 'import sys
with open(sys.argv[1]) as f:
for line in f:
if line.startswith("l") and line.strip().endswith("op"):
print(line, end="")' file
leptop
leptop
laftop
laptop