我在使用正則表達(dá)式時(shí)遇到問題。所以基本上我有這樣的字符串:string = '<bash><exit><bash-trap><terminology>'我最終想要的是所有單獨(dú)單詞的列表:['bash','exit','bash-trap','terminology']到目前為止我所做的:substitution = re.sub(r'[^A-Za-z0-9-]+', ' ', string)然后re.split(r'[^A-Za-z0-9-])',substitution)這給了我以下結(jié)果:['', 'bash', 'exit', 'bash-trap', 'terminology', '']謝謝 !
2 回答

三國(guó)紛爭(zhēng)
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊
您想要的只是尖括號(hào)內(nèi)的單詞列表。因此,您可以re.findall直接在輸入字符串上使用。
re.findall(r'<(.*?)>', string)
代碼:
import re
string = '<bash><exit><bash-trap><terminology>'
print(re.findall(r'<(.*?)>', string))
# ['bash', 'exit', 'bash-trap', 'terminology']

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用模式\<(.*?)\>
前任:
import re
string = '<bash><exit><bash-trap><terminology>'
print(re.findall(r"\<(.*?)\>", string))
# --> ['bash', 'exit', 'bash-trap', 'terminology']
添加回答
舉報(bào)
0/150
提交
取消