我正在尝试解析以下格式的字符串:
text = "some random string <inAngle> <anotherInAngle> [-option text] [-anotherOption ] [-option (Y|N)]"
我希望将该字符串分成三个部分:
- 仅限于“some random string”
- 所有仅限于尖括号内的内容,例如上面的inAngle和anotherInAngle。
- 所有方括号内的内容。
如果我使用正则表达式:
re.findall(r'\[(.+?)\]', text)
它在方括号内提供了我需要的一切。但是,如果我使用相同的正则表达式和尖括号,
re.findall(r'<(.+?)>', text)
它提取方括号内的尖括号中的文本。例如,上面的[-anotherOption]中的“text”我不需要。尖括号匹配的正则表达式应该只返回上面的“inAngle”和“anotherInAngle”。
另外,我如何只获取第一部分,即“some random string”。该字符串可以有2或3个单词。