python - 在 python 中对两个 { } 使用 re.split()

标签 python

我正在尝试使用 re.split() 以便我可以用 python 编写 madlibs 程序。

我一直在尝试将每组括号分开,例如{名词}。到目前为止,我只能成功分割第一个括号,但不能成功分割第二个。我正在尝试阅读有关它的文档,但我仍然很困惑。我看过在多个项目上使用 re.split() 的其他示例,但它所做的只是让我感到困惑。有人可以向我深入解释如何解决这个问题吗?非常感谢。

前代码:

re.split('{') <--- 有效 re.split('{', '}') <-- 不起作用

最佳答案

正如评论中所述,您需要使用逻辑或运算符 | 来分隔符号。这样正则表达式引擎就会根据 {} 符号分割输入字符串。并且不要忘记将正则表达式定义为原始字符串。

re.split(r'{|}', str)

将它们放入字符类中。

re.split(r'[{}]', str)

示例:

>>> re.split(r'{|}', "{noun}")
['', 'noun', '']
>>> re.split(r'[{}]', "{noun}")
['', 'noun', '']

关于python - 在 python 中对两个 { } 使用 re.split(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206024/

相关文章:

python - Azure blob 共享 key 创建 403 错误获取

python - 如何使用 2 因素身份验证从 python 发送电子邮件?

Python空闲: Change Python Version

python - 将数据加载到 Catboost Pool 对象中

Python 3.6 Pandas 从某些列中选择所有行

python - 如何在 OSX Lion 下独立于/System/Library/Frameworks 安装 Python 2.7.x?

python - 如何找到数字范围

python - 如何从 Python 列表中删除引号?

python - 如果禁用记录器,则防止创建空日志文件