基于Python re库实现长字符(长度>3)与连续数字的分隔
解决方案
直接用Python的re.sub()配合正则表达式就能搞定,核心是精准匹配「长度≥4的字母串紧跟数字」的场景,其他情况一概不处理。
代码实现
import re def split_alpha_num(s): # 匹配4个及以上字母紧跟一串数字的情况,在两者间加空格 return re.sub(r'([A-Za-z]{4,})(\d+)', r'\1 \2', s)
测试验证
- 输入:
ferrari03→ 输出:ferrari 03 - 输入:
fe03→ 输出:fe03(字母长度不足4,不处理) - 输入:
03fe→ 输出:03fe(数字在前,不匹配规则) - 输入:
03ferrari→ 输出:03ferrari(数字在前,不匹配规则) - 输入:
bmwxyz789→ 输出:bmwxyz 789
正则规则说明
([A-Za-z]{4,}):捕获由4个及以上大小写字母组成的字符串,满足「字符/单词长度超过3」的要求(\d+):捕获一串连续的数字- 替换时用
\1 \2,在两个捕获的内容之间插入空格实现分隔
内容的提问来源于stack exchange,提问作者ByUnal
相关产品推荐
相关产品推荐

