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

作者: liu02112 (好想吃慚愧棒棒糖.......)   2018-02-11 15:56:30
各位好
最近小弟練習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)]
全部失敗......請問有人知道方法嗎??
謝謝各位
作者: djshen (djshen)   2018-02-11 15:59:00
你有看過官方re文件裡的. +這些符號的意思嗎
作者: sean50301 ( (づ′・ω・)づ)   2018-02-11 16:54:00
這個問題感覺不用用到regex吧
作者: vi000246 (Vi)   2018-02-11 18:02:00
你的regex要重學
作者: alex0914 (Life is short)   2018-02-11 18:41:00
https://regexr.com/ 先看一下為啥不 match
作者: liu02112 (好想吃慚愧棒棒糖.......)   2018-02-11 19:57:00
我沒完整學過regex 但是謝謝樓上的連結 很有用
作者: NTUGG (GG)   2018-02-11 20:40:00
if (x.startswith('a') or x.endswith('6'))啊..or要換成and如果真的要用re.. 先re.compile(pattern)吧
作者: Kazimir (Kazimir)   2018-02-11 22:32:00
'^a.*6$' 就是開頭a中間隨便6結尾 應該沒有and吧
作者: largesperm (reindeer)   2018-02-12 07:40:00
new_list = [x for x in old_list if x[0] == "a" orx[-1] == "6"]
作者: WunoW (WunoW)   2018-02-12 10:22:00
這不是python的問題吧,是regexp的問題,有regexp板
作者: galeondx   2018-03-06 04:44:00

Links booklink

Contact Us: admin [ a t ] ucptt.com