猿问

正则表达式具有不同的模式

我有以下字符串


s1 = 'XXX-2 I LOVE : XXX XXX'

s2 = 'FOOD : XXX'

s3 = 'XXX-FOOD : XXX

我想要以下


s1 = '2 I LOVE'

s2 = 'FOOD'

s3 = 'FOOD'

s2只有1个定界符,:而s1 & s3只有2个- & :


我想将所有内容都保留在两个定界符之间,- & :所以我使用以下内容,\-(.*?)\:但我没有得到s2


如果我使用以下内容,\w+\-?(.*?)\:我会得到一切-


我在regex上很糟糕,如果有人可以帮助我解决这个问题并提供理解regex的链接,我将不胜感激。


慕妹3146593
浏览 134回答 3
3回答

眼眸繁星

我们正在使用strip删除尾随空格。s1 = re.sub(r'[^a-zA-Z0-9\s]+|X','',s1).strip()s2 = re.sub(r'[^a-zA-Z0-9\s]+|X','',s2).strip()s3 = re.sub(r'[^a-zA-Z0-9\s]+|X','',s3).strip()2 I LOVEFOODFOOD
随时随地看视频慕课网APP

相关分类

Python
我要回答