Поиск с использованием словаря с re.compile () - PullRequest
1 голос
/ 29 апреля 2019

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

'>NAME= (various_names_here)'

Каждый раз, когда я вижу это ">Name=", я хочу прочитать в строке.

В моем словаре есть элемент:

my_dict = {
    'name': re.compile(r'>NAME=  (?P<name>.*)\n'),
}

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

Пока я подхожу близко, я не могу найти правильный синтаксис для чтения этой строки. Кажется, я не могу понять, как справиться с отсутствием пробелов между >NAME= и (***).

1 Ответ

0 голосов
/ 30 апреля 2019

Если вам нужно сопоставить что-то вроде этого:

>NAME= (Bob)

Ваш шаблон регулярного выражения должен быть изменен следующим образом:

>NAME= \((?P<name>.*)\)\n

в противном случае круглые скобки не будут совпадать.

Шаблон выше будет соответствовать:

name = Bob

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