如何在Python中使用简洁正则语法获取字符串每个单词的最后3个字符
有更简洁的正则实现方案,不需要提前拆分字符串、嵌套循环匹配,直接一条全局匹配即可拿到目标结果:
实现代码
import re names = 'steven thomas williams' res = re.findall(r'\w{3}\b', names) print(res) # ['ven', 'mas', 'ams']
正则说明
\w:匹配英文字母、数字、下划线,你的场景都是纯英文姓名,完全适配{3}:限定刚好匹配3个连续字符\b:单词边界标识,保证匹配到的3个字符刚好落在单个单词的末尾位置(后接空格或整个字符串结尾)
补充说明
如果你的场景中存在长度不足3的单词:
- 不需要匹配长度不足3的单词,直接用上面的正则即可,不符合规则的内容会自动过滤
- 需要保留长度不足3的单词的全部字符,可以把正则调整为
r'\w{1,3}\b'
内容的提问来源于stack exchange,提问作者codecumber
相关产品推荐
相关产品推荐

