请问如何用正则表达式将数字字符串从后往前分段?

从后往前分隔成4个数字一段比如‘1234567890’分隔成['12','3456','7890']
当然,切片反转,再分隔,再反转我是会的
以上小白问题,还请大神们赐教

有点复杂,用这个去测试一下:

split()方法用于实现根据正则表达式分割字符串,并以列表的形式返回,其作用同字符串对象的solit()方法类似,所不同的就是分割字符
由模式字符指定。
re.split(pattern,string,[maxsplit],[flags])
maxsplit:可选参数,表示最大的拆分次数。
"""

import re
pattern=r"[?|$]"    # 定义分隔符   只要出现?或者$就将字符串进行分割
url="http://www.baidu.com/login.jsp?username='baidu'$pwd'baidu'"   # 如果最外层用的双引号,里面就用单引号
result=re.split(pattern,url)
print(result)
#!/usr/bin/env python
#-*- coding:utf-8 -*-

data = '1234567890'


def dataSlice(data,num):
    res = []
    sliceDataIndex = []   #切割字符串的索引值列表
    n = int(len(data) / num)

    for i in range(n, 0, -1):
        sliceDataIndex.append(len(data) - i * num)

    # print(sliceDataIndex)
    res.append(data[:sliceDataIndex[0]])

    for i in range(len(sliceDataIndex) - 1):
        res.append(data[sliceDataIndex[i]:sliceDataIndex[i + 1]])

    res.append(data[sliceDataIndex[-1]:])
    return  res


res = dataSlice(data=data,num=4)
print(res)



这边没有使用正则,使用的字符串的分隔方法,可以指定分隔位数

用substring方法不可以吗?必须用正则表达式吗?

谢谢老师,很感动!!我琢磨一下看看

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y