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

求 python 正则表达式

  •  
  •   popstk · 2015-09-25 12:07:06 +08:00 · 1728 次点击
    这是一个创建于 3371 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求 reg ,令 group(1)是 4 group(2)是"y=564"

    至少能匹配这些情况:
    x=4,a="y=45",y="y=564",
    x=3,y="y=564",

    已知:
    x 和 y 关键字的内容不含逗号
    x 关键字和 y 关键字的顺序是固定的

    4 条回复    2015-09-25 14:05:04 +08:00
    imn1
        1
    imn1  
       2015-09-25 12:42:04 +08:00
    ^x=([^,]+),.*y=([^,]+),$
    popstk
        2
    popstk  
    OP
       2015-09-25 13:50:47 +08:00
    @imn1 我试了下两条的 group(2)匹配到 564" 不是 y 的全部"y=564"
    imn1
        3
    imn1  
       2015-09-25 13:58:14 +08:00
    ^x=([^,]+).*,y=([^,]+),$
    py 不是默认贪婪的?把两组之间的逗号移到 y=前面,或者改成贪婪
    popstk
        4
    popstk  
    OP
       2015-09-25 14:05:04 +08:00
    @imn1 .*的确贪婪的 所以你写的正则的 y= 匹配了 后面的"y=564" 中的 y= 所以 group(2)才变成了 564"
    正确的应该是匹配 y="y=564"左边的 y=才对
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:47 · PVG 19:47 · LAX 03:47 · JFK 06:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.