我在使用regex时遇到了麻烦。
基本上,我有这样一种字符串:
string = '<bash><exit><bash-trap><terminology>'最后,我想要的是列出所有单独的单词:“bash”、“exit”、“bash-trap”、“名词”。
我到目前为止所做的事:
substitution = re.sub(r'[^A-Za-z0-9-]+', ' ', string)
然后
re.split(r'[^A-Za-z0-9-])',substitution)
这给了我以下的结果:
['', 'bash', 'exit', 'bash-trap', 'terminology', '']
谢谢!
发布于 2020-09-16 16:46:48
你只想要一个尖括号里的单词列表。因此,您可以直接在输入字符串上使用re.findall。
re.findall(r'<(.*?)>', string)代码:
import re
string = '<bash><exit><bash-trap><terminology>'
print(re.findall(r'<(.*?)>', string))
# ['bash', 'exit', 'bash-trap', 'terminology']发布于 2020-09-16 16:46:10
使用模式\<(.*?)\>
Ex:
import re
string = '<bash><exit><bash-trap><terminology>'
print(re.findall(r"\<(.*?)\>", string))
# --> ['bash', 'exit', 'bash-trap', 'terminology']https://stackoverflow.com/questions/63924554
复制相似问题