首页 > 解决方案 > re.findall 如何用于像“{asctime} _{|} {level} _{|} {name} __{>>} {message}”这样的字符串

问题描述

我有一个像这样的简单字符串:

s = "{asctime} _{|} {level} _{|} {name} __{>>} {message}"

我想使用正则表达式将其转换为以下(保留空格),可能使用re.findall

[
"{asctime} _{|}",
" {level} _{|}",
" {name} __{>>}",
" {message}"
]

如何做到这一点?

这是我必须要做的:

re.findall(r'\{.\}', s)

标签: pythonregex

解决方案


这似乎有效

import re

s = "{asctime} _{|} {level} _{|} {name} __{>>} {message}"

re.split(r"\B(?= {)", s)

返回

['{asctime} _{|}', ' {level} _{|}', ' {name} __{>>}', ' {message}']

推荐阅读