Python:如何获取方括号内的多个元素

标签 python regex pattern-matching match python-2.7

我有一个像这样的字符串/模式:

[xy][abc]

我尝试获取方括号内包含的值:

  • xy
  • abc

括号内永远不会有括号。无效:[[abc][def]]

到目前为止我已经得到了这个:

import re
pattern = "[xy][abc]"
x = re.compile("\[(.*?)\]")
m = outer.search(pattern)
inner_value = m.group(1)
print inner_value

但这只给了我第一个方括号的内部值。

有什么想法吗?我不想使用字符串分割函数,我确信单独使用 RegEx 就可以实现。

最佳答案

re.findall 是您的 friend :

>>> import re
>>> sample = "[xy][abc]"
>>> re.findall(r'\[([^]]*)\]',sample)
['xy', 'abc']

关于Python:如何获取方括号内的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45937101/

相关文章:

Python RegEx 嵌套搜索和替换

Python数据帧检查列数据帧中的值是否在另一个数据帧中报告的值的范围内

python - 从 python 脚本中运行 python 脚本

python - 如何使用生成器在换行符上拆分套接字读取数据

regex - 无法将正则表达式和列表结果放在一起

javascript - 如何像 mysql 一样从 jQuery 中的 json 或数组数据搜索名称

Python 迭代 RegEx 从定界符之间提取文本

regex - 使用 Rust 的正则表达式箱时如何转义转义的正则表达式字符?

performance - 与模式匹配相比,是否存在 `Option.bind` 的性能成本?

f# 模式与类型匹配