猿问

如何使用正则表达式分割没有第一个和最后一个特殊字符的字符串

我在使用正则表达式时遇到问题。

所以基本上我有这样的字符串:

string = '<bash><exit><bash-trap><terminology>'

我最终想要的是所有单独单词的列表:['bash','exit','bash-trap','terminology']

到目前为止我所做的:

substitution = re.sub(r'[^A-Za-z0-9-]+', ' ', string)

然后

re.split(r'[^A-Za-z0-9-])',substitution)

这给了我以下结果:

['', 'bash', 'exit', 'bash-trap', 'terminology', '']

谢谢 !


暮色呼如
浏览 136回答 2
2回答

三国纷争

您想要的只是尖括号内的单词列表。因此,您可以re.findall直接在输入字符串上使用。re.findall(r'<(.*?)>', string)代码:import restring = '<bash><exit><bash-trap><terminology>'&nbsp; &nbsp;&nbsp;print(re.findall(r'<(.*?)>', string))# ['bash', 'exit', 'bash-trap', 'terminology']

慕沐林林

使用模式\<(.*?)\>前任:import restring = '<bash><exit><bash-trap><terminology>'print(re.findall(r"\<(.*?)\>", string))# --> ['bash', 'exit', 'bash-trap', 'terminology']
随时随地看视频慕课网APP

相关分类

Python
我要回答