我正在尝试使用re.split(),以便我可以在python中编写一个madlibs程序。
我一直试图让它分裂每组括号,例如{名词}。到目前为止,我只能成功拆分第一个支架,但不是第二支架。我正在尝试阅读有关它的文档,但我仍然感到很困惑。我已经看过在多个项目上使用re.split()的其他示例,但它所做的只是让我感到困惑。有人可以请我深入解释如何解决这个问题吗?非常感谢你。
前代码:
re.split('{')< --- Works re.split('{','}')< - 不起作用
答案 0 :(得分:1)
如评论中所述,您需要使用逻辑OR运算符|
来分隔符号。这样正则表达式引擎会根据{
或}
符号拆分输入字符串。并且不要忘记将正则表达式定义为原始字符串。
re.split(r'{|}', str)
或强>
将它们放在一个字符类中。
re.split(r'[{}]', str)
示例:强>
>>> re.split(r'{|}', "{noun}")
['', 'noun', '']
>>> re.split(r'[{}]', "{noun}")
['', 'noun', '']