【问题标题】:Store all characters between parentheses in string [duplicate]将括号之间的所有字符存储在字符串中[重复]
【发布时间】:2017-03-09 05:44:36
【问题描述】:

我有一个字符串

statement = 'P ∧ (Q ∨ R) ↔ (P ∧ Q) ∨ (P ∧ R)'

我想存储括号内的每个字符串,如下所示:

['Q ∨ R', 'P ∧ Q', 'P ∧ R']

如何做到这一点?

【问题讨论】:

  • 我看到了那个,我认为这是不同的,因为我要求括号之间的每个字符串的列表
  • 对不起,我没有注意到这个答案

标签: python regex string python-3.x


【解决方案1】:
>>> import re
>>> [s[1:-1] for s in re.findall(r'\(.*?\)', 'P ∧ (Q ∨ R) ↔ (P ∧ Q) ∨ (P ∧ R)')]
['Q ∨ R', 'P ∨ Q', 'P ∧ R']

【讨论】:

    【解决方案2】:

    这是一个很好的正则表达式用例:

    >>> import re
    >>> re.findall(r'\((.*?)\)', statement)
    ['Q ∨ R', 'P ∧ Q', 'P ∧ R']
    

    模式中的? 字符是非贪婪修饰符后缀

    【讨论】:

    • 我喜欢找到 () 中的内容而无需稍后将其剥离之间的区别。
    猜你喜欢
    • 2020-12-19
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 2015-10-16
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多