[問題] 新手對Python String的問題

看板Python作者 (好想吃慚愧棒棒糖.......)時間6年前 (2018/02/11 15:56), 編輯推噓4(409)
留言13則, 10人參與, 6年前最新討論串1/1
各位好 最近小弟練習string問題 Code如下所示: old_list = ['abc123', 'aef456', 'ghi789'] new_list = [x for x in old_list if re.search('^a|6$', x)] new_list 我能找出'a'開頭或'6'結尾的數字(or |) 但是請問and要怎麼表示??我找都找不到 我嘗試 new_list = [x for x in old_list if re.search('^ab & 6$', x)] new_list = [x for x in old_list if re.search('^a+6$', x)] new_list = [x for x in old_list if re.search('^a.6$', x)] 全部失敗......請問有人知道方法嗎?? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.235.199 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1518335796.A.E1C.html

02/11 15:59, 6年前 , 1F
你有看過官方re文件裡的. +這些符號的意思嗎
02/11 15:59, 1F

02/11 16:54, 6年前 , 2F
這個問題感覺不用用到regex吧
02/11 16:54, 2F

02/11 18:02, 6年前 , 3F
你的regex要重學
02/11 18:02, 3F

02/11 18:41, 6年前 , 4F
https://regexr.com/ 先看一下為啥不 match
02/11 18:41, 4F

02/11 19:57, 6年前 , 5F
我沒完整學過regex 但是謝謝樓上的連結 很有用
02/11 19:57, 5F

02/11 20:40, 6年前 , 6F
if (x.startswith('a') or x.endswith('6'))
02/11 20:40, 6F

02/11 20:42, 6年前 , 7F
啊..or要換成and
02/11 20:42, 7F

02/11 20:46, 6年前 , 8F
如果真的要用re.. 先re.compile(pattern)吧
02/11 20:46, 8F

02/11 22:32, 6年前 , 9F
'^a.*6$' 就是開頭a中間隨便6結尾 應該沒有and吧
02/11 22:32, 9F

02/12 07:40, 6年前 , 10F
new_list = [x for x in old_list if x[0] == "a" or
02/12 07:40, 10F

02/12 07:41, 6年前 , 11F
x[-1] == "6"]
02/12 07:41, 11F

02/12 10:22, 6年前 , 12F
這不是python的問題吧,是regexp的問題,有regexp板
02/12 10:22, 12F

03/06 04:44, 6年前 , 13F
文章代碼(AID): #1QV_SquS (Python)