V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
learningman
V2EX  ›  正则表达式

30102 如何用正则匹配出 01 02

  •  
  •   learningman · 2020-02-23 13:36:51 +08:00 · 1189 次点击
    这是一个创建于 1518 天前的主题,其中的信息可能已经有所发展或是发生改变。

    30102如何用正则匹配出01 02

    前面这个串还可能是507080910,这时要匹配出07 08 09 10,所以 split 方法不可行

    我感觉应该是只能两次正则了。。。

    7 条回复    2020-02-23 16:03:16 +08:00
    delectate
        1
    delectate  
       2020-02-23 13:45:40 +08:00   ❤️ 1
    (0102|07080910)
    learningman
        2
    learningman  
    OP
       2020-02-23 14:00:45 +08:00
    @delectate 这只是两个例子,第一个数字可以是 1-7,后面的从 01-10 都有可能。。。而且是要把后面的数字两个两个的切割出来
    aheadlead
        3
    aheadlead  
       2020-02-23 14:06:25 +08:00
    Vegetable
        4
    Vegetable  
       2020-02-23 14:17:58 +08:00
    你在#2 回复的规则已经很清楚了不是吗?去掉第一个数字再切不行吗?为什么需要正则?
    imn1
        5
    imn1  
       2020-02-23 14:20:57 +08:00
    就是去掉首位两两切
    所以为何切片不行?
    learningman
        6
    learningman  
    OP
       2020-02-23 14:41:24 +08:00
    @Vegetable python 怎么操作。。。我现在是用 findall 和'\d\d'
    imn1
        7
    imn1  
       2020-02-23 16:03:16 +08:00
    s='507080910'
    [s[i:i+2] for i in range(1, len(s), 2)]

    re.findall(r'.{2}', s[1:])
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2356 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:09 · PVG 00:09 · LAX 09:09 · JFK 12:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.