V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
learningman

30102 如何用正则匹配出 01 02

  •  
  •   learningman · Feb 23, 2020 · 1832 views
    This topic created in 2267 days ago, the information mentioned may be changed or developed.

    30102如何用正则匹配出01 02

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

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

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

    re.findall(r'.{2}', s[1:])
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5386 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 08:05 · PVG 16:05 · LAX 01:05 · JFK 04:05
    ♥ Do have faith in what you're doing.