regex - 从字符串末尾匹配的正则表达式,如何使其从头开始搜索
问题描述
模式是.*,(.*),.*
,字符串是
你好,我是,kavya,这个,是,测试,案例
找到的匹配是“测试”
如何让它与“我”匹配?
解决方案
您正在使用.*
,这是一个贪婪的量词。
使用不情愿的量词。
.*?,(.*?),.*
查看现场演示匹配"I'm"
。
量词在允许整个表达式匹配的同时尽可能多地消耗,而量词则尽可能*
少地消耗。*?
不情愿的量词用于前导子表达式和捕获的子表达式,因此都不会超过逗号。
推荐阅读
- node.js - Nginx - 负载平衡在 Windows 上返回 404
- php - 在php codeigniter中按帖子顺序形成数组帖子
- fonts - 一个词 LaTeX 的全局变化
- angular - Angular 2 模块解析失败:意外的令牌
- selenium - Selenium sendkeys 为反斜杠 (\) 输入管道 (|)
- javascript - 在Angular JS的动态下拉列表中选择默认值
- cdi - Weblogic 从 12.1.2 升级到 12.1.3 时发现 CDIIntegrationService 错误
- r - 用堆叠的条形图ggplot填充矩阵图?
- angular - 从 Angular6 迁移到 Vue
- flowtype - 无法使用 `localStorage.getItem(...)` 调用 `JSON.parse`