首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式.*(\d+x\d+)$必须是贪婪的

正则表达式.*(\d+x\d+)$必须是贪婪的
EN

Stack Overflow用户
提问于 2021-03-18 05:41:09
回答 2查看 45关注 0票数 0

https://regex101.com/r/BjO6H1/1/

正则表达式:.*(\d+x\d+)$

测试字符串:android-chrome 192

你能告诉我为什么我得到2x192作为第一组吗?我以为192x192。以及如何获得预期的结果?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-18 05:51:28

由于*很贪婪,所以您应该更改为:

代码语言:javascript
复制
.*?(\d+x\d+)$

有关更多解释,请查看文档

当重复正则表达式(如在a*中)时,产生的操作是尽可能多地消耗模式。当您试图匹配一对平衡的分隔符时,这个事实常常会让您头疼,例如HTML标记周围的尖括号。由于.*的贪婪特性,匹配单个HTML标记的天真模式无法工作

票数 1
EN

Stack Overflow用户

发布于 2021-03-18 05:51:34

添加一个?以使.*懒惰:

代码语言:javascript
复制
.*?(\d+x\d+)$
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66685373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档