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

[求助] 请问正则从后往前非贪婪匹配

  •  
  •   stultulo · 2022-04-21 20:45:52 +08:00 · 1068 次点击
    这是一个创建于 977 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问想下面这种用重复片段 abc 组成的字符串

    str = "abcaada2abcbfb3abccdsc4abcddd5"
    

    想要匹配 abc4 及之间的字符:

    abccdsc4
    

    使用 abc4 作为定位符,结果

    >>> print(re.search('abc.*?4', str))
    <re.Match object; span=(0, 23), match='abcaada2abcbfb3abccdsc4'>
    

    请教一下大家,该如何实现需求?感激

    4 条回复    2022-04-21 23:17:20 +08:00
    knir
        1
    knir  
       2022-04-21 20:55:26 +08:00
    abc((?!abc).)*4
    stultulo
        2
    stultulo  
    OP
       2022-04-21 21:08:11 +08:00
    @knir 秒啊,感谢大佬
    we9ta
        3
    we9ta  
       2022-04-21 21:18:11 +08:00 via iPhone
    .*abc(.*?)4

    用到 group 就倒序了
    stultulo
        4
    stultulo  
    OP
       2022-04-21 23:17:20 +08:00
    @we9ta 又一种解法,谢谢大佬
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:46 · PVG 03:46 · LAX 11:46 · JFK 14:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.