Python正则表达式:仅在大括号后才匹配字符串

时间:2018-11-29 01:15:32

标签: regex

我有以下字符串:

'\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 :(得分:1)

如果字符串不重要,则无需换行就更容易搜索它:

re.search(r'{.*?(\w+)', s.replace('\n', '')).groups()  # returns ('allEmployees',)