我在使用正則表達式時遇到問題。所以基本上我有這樣的字符串: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', '']謝謝 !
2 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
您想要的只是尖括號內的單詞列表。因此,您可以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貢獻2016條經驗 獲得超9個贊
使用模式\<(.*?)\>
前任:
import re
string = '<bash><exit><bash-trap><terminology>'
print(re.findall(r"\<(.*?)\>", string))
# --> ['bash', 'exit', 'bash-trap', 'terminology']
添加回答
舉報
0/150
提交
取消