如何删除我的正则表达式中的尾随空格?

时间:2015-10-27 18:06:24

标签: regex

我有以下正则表达式:

tag-((?:\w+ )+)

它打算用于这样的字符串:

  

条目标签免费图片标签 - 创意标签设计标签 - 灵感   标签库存照片标签库存图片标签免费照片标签免费库存   图像标签 - 股票摄影标签 - 正宗标签 - 现场正宗   tag-natural tag-nature tag-macro tag-closeup tag-dandelion tag-wet   tag-moist tag-white tag-soft tag-green tag-close tag-snapwire   tag-snapwiresnaps tag-week 24 photo-post

很高兴接受它在每个组的末尾捕获一个尾随空格,如下所示:

'free images ', 'week 24 ', 'moist ', etc..

如何才能阻止它仅捕获最后一个空格?

2 个答案:

答案 0 :(得分:1)

你可以使用这种基于正则表达式的负前瞻:

\btag-((?:\w+ )*(?!\btag\b)\w+\b)

RegEx Demo

答案 1 :(得分:1)

为什么您不想对结果进行后期处理:

tags = [x.strip() for x in re.findall("tag-((?:\w+ )+)", s)]