我在这里看到问题:
Regex to capture {}
这与我想要的相似,但我无法让它工作。
我的数据是:
[Honda] Japanese manufacturer [VTEC] Name of electronic lift control
我希望输出是
[Honda], [VTEC]
我的表达是:
m = re.match('(\[[^\[\]]*\])', '[Honda] Japanese manufacturer [VTEC] Name of electronic lift control')
我希望:
m.group(0)
输出 [Honda]
m.group(1)
输出 [VTEC]
然而,两者都输出
[Honda]
。如何访问第二场比赛? 最佳答案
您可以使用 re.findall
来获取所有匹配项,但您将在列表中获取它们,并且您不需要捕获组:
m = re.findall('\[[^\[\]]*\]', '[Honda] Japanese manufacturer [VTEC] Name of electronic lift control')
提供
['[Honda]', '[VTEC]']
以便您可以得到每个:print(m[0])
# => [Honda]
print(m[1])
# => [VTEC]
关于python - 使用正则表达式捕获方括号内的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24330609/