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

Pat*_*ric 7 python regex pattern-matching match python-2.7

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

[xy][abc]
Run Code Online (Sandbox Code Playgroud)

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

  • XY
  • ABC

括号内没有括号.无效:[[abc][def]]

到目前为止,我有这个:

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

但这只给了我第一个方括号的内在价值.

有任何想法吗?我不想使用字符串拆分函数,我确信单独使用RegEx可能会以某种方式.

Mat*_*ttH 18

re.findall 你的朋友在这里:

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


bee*_*jay 5

>>> import re
>>> re.findall("\[(.*?)\]", "[xy][abc]")
['xy', 'abc']
Run Code Online (Sandbox Code Playgroud)