求 python 正则表达式

2015-09-25 12:07:06 +08:00
 popstk

求 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 关键字的顺序是固定的

1714 次点击
所在节点    正则表达式
4 条回复
imn1
2015-09-25 12:42:04 +08:00
^x=([^,]+),.*y=([^,]+),$
popstk
2015-09-25 13:50:47 +08:00
@imn1 我试了下两条的 group(2)匹配到 564" 不是 y 的全部"y=564"
imn1
2015-09-25 13:58:14 +08:00
^x=([^,]+).*,y=([^,]+),$
py 不是默认贪婪的?把两组之间的逗号移到 y=前面,或者改成贪婪
popstk
2015-09-25 14:05:04 +08:00
@imn1 .*的确贪婪的 所以你写的正则的 y= 匹配了 后面的"y=564" 中的 y= 所以 group(2)才变成了 564"
正确的应该是匹配 y="y=564"左边的 y=才对

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/223575

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX