我想从带有正则表达式的文本中提取所有双字母字符串,例如:
just a test
会得到我ju, us, st, te, es, st
我尝试使用:re.findall(r'\w{2}',text)
,但它只将字词分成两个字母的字符串并给我ju, st, te, st
非常感谢您的帮助。
答案 0 :(得分:2)
我将正则表达式解决方案留给了正则表达式专家(我不是这样),因为它可以在没有正则表达式的情况下完成,只需要一行列表理解:
s = "just a test"
result = ["".join(x) for w in s.split() if len(w)>1 for x in zip(w,w[1:])]
print(result)
结果:
['ju', 'us', 'st', 'te', 'es', 'st']
只需拆分单词,过滤少于2个字符的单词,然后使用zip
只有在没有标点符号的情况下才有效。