【问题标题】:How to get the regular expression to return all capture groups? [duplicate]如何让正则表达式返回所有捕获组? [复制]
【发布时间】:2017-02-18 03:17:46
【问题描述】:

所以我有一个字符串RAM 1000/2000/3000/4000,我想使用正则表达式从中提取RAM 1000200030004000

到目前为止,我已经 (RAM 1000)(?:(?:\/)(\w+)){1,},但它只返回 RAM 10004000。如何让它在 Python 中返回所有所需的匹配项?

【问题讨论】:

  • 为什么不直接使用str.split('/')

标签: python regex


【解决方案1】:

虽然str.split 似乎可以在这里完成这项工作,但如果您想使用正则表达式,那么您可能想要使用re.findall

>>> import re
>>> s = "RAM 1000/2000/3000/4000"
>>> re.findall(r"(?:RAM )?[^/]+", s)
['RAM 1000', '2000', '3000', '4000']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2014-08-04
    • 2016-02-28
    • 2023-02-16
    • 2017-09-13
    相关资源
    最近更新 更多