我有一个字符串
statement = 'P ∧ (Q ∨ R) ↔ (P ∧ Q) ∨ (P ∧ R)'
我想存储括号内的每个字符串,如下所示:
['Q ∨ R', 'P ∧ Q', 'P ∧ R']
如何做到这一点?
答案 0 :(得分:6)
>>> import re
>>> [s[1:-1] for s in re.findall(r'\(.*?\)', 'P ∧ (Q ∨ R) ↔ (P ∧ Q) ∨ (P ∧ R)')]
['Q ∨ R', 'P ∨ Q', 'P ∧ R']
答案 1 :(得分:4)
这是正则表达式的一个很好的用例:
>>> import re
>>> re.findall(r'\((.*?)\)', statement)
['Q ∨ R', 'P ∧ Q', 'P ∧ R']
模式中的?
字符是非贪婪修饰符后缀。