作者Czero (悠闲)
看板RegExp
标题[问题] 请问一解法...
时间Mon Jul 13 17:25:19 2015
各位好 , 小弟刚开始使用python练习regex
请教一下 ,
下面我想印出['1987b'] , 试了一阵子不晓得re哪个地方需要调整= =|||
感谢提点!
r = re.compile('[\d]{4,6}[a-z]+[^\/]+[\w]*')
string_list = ['123', '1911a/1/1', '1987b']
list_new = list(filter(r.match, string_list))
print(list_new)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.120.94
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/RegExp/M.1436779523.A.9CD.html
1F:推 mars90226: 看你想怎麽做,你需要1987b後面就结束的话 07/13 21:00
2F:→ mars90226: 用'\d{4,6}[a-z]+$',如果你是不想要後面有'/'的话 07/13 21:02
3F:→ mars90226: 用'\d{4,6}[a-z]+(?!\/)' 07/13 21:02
4F:→ Czero: 感谢您, 但为何我用[^\/]这样方式不行呢? 07/13 23:18
5F:推 mars90226: 因为这样会要求後面不能是结尾,你这个例子就会出错 07/14 01:12