如何用Python正则表达式拆分无空格的字母数字组合?
拆分字母数字组合字符串的实用方法
嘿,刚好能帮到你!如果要把像'S10'、'S11'这种无空格的字母+数字组合字符串,拆分成单独的字母部分和数字部分(比如变成['S','10']、['S','11']),用Python的正则表达式就能轻松搞定,我之前参考过相关解决方案,直接上可运行的代码:
import re # 示例字符串 target_str = 'S10' # 编译正则规则:匹配字母与数字的分界位置 split_pattern = re.compile(r'(?<=[A-Za-z])(?=\d)') # 执行拆分操作 split_result = split_pattern.split(target_str) print(split_result) # 输出结果: ['S', '10']
简单说下这个正则的逻辑:
(?<=[A-Za-z]):反向肯定预查,确保当前位置的前面是英文字母(大小写都支持)(?=\d):正向肯定预查,确保当前位置的后面是数字
这种拆分方式不会丢失任何字符,而且适配多种类似格式——不管是单个字母+多位数字(比如'A1234'),还是多个字母+数字(比如'XYZ56'),拆分结果都会是['A','1234']、['XYZ','56']这类符合预期的形式。
内容的提问来源于stack exchange,提问作者garrydavid
相关产品推荐
相关产品推荐

