Регулярное выражение Python: соответствует строке, только если она следует за фигурной скобкой - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть следующая строка:

'\n    query {\n      allEmployees(first: 2) {\n        edges {\n          node {\n            name\n            department {\n              name\n            }\n          }\n        }\n      }\n    }\n'

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

import re
s = '\n    query {\n      allEmployees(first: 2) {\n        edges {\n          node {\n            name\n            department {\n              name\n            }\n          }\n        }\n      }\n    }\n'
pattern = re.compile(r'\{[.]*(\w+)')
x = pattern.search(s)

Целевой результат будет просто "allEmployees" (не включая фигурную скобку).

1 Ответ

0 голосов
/ 29 ноября 2018

Поиск строки без перевода строки намного проще, если они незначительны:

re.search(r'{.*?(\w+)', s.replace('\n', '')).groups()  # returns ('allEmployees',)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...