php - 正则表达式/PHP,不匹配的结尾
问题描述
我正在尝试获得 3 个这样的字符串匹配,用冒号分隔:
{{text:1:{"a":"b"}}}
期望的结果:
match[1] = text
match[2] = 1
match[3] = {"a":"b"}
使用以下搜索模式:
\{\{(.\*?):(.\*?):(.\*?)\}\}
可悲的是,结果是
match[1] = text
match[2] = 1
match[3] = {"a":"b"
如何将正则表达式限制为仅在外部搜索{{}}
?
解决方案
尝试删除?
像这样:
{{(.*?):(.*?):(.*)}}
Group 1: text
Group 2: 1
Group 3: {"a":"b"}
推荐阅读
- oracle - ORA-28547: 与服务器的连接失败,可能是 Oracle 网络管理员错误,但在重新启动后可以正常工作
- c - c 包含指令中的 linux 内核源代码树——它是如何工作的
- ms-access - Access 警告查询中的 case 子句存在运算符错误
- javascript - 赛普拉斯拆分字符串进行测试
- reactjs - 在 React Router 中使用 Link 和 NavLink 传递道具的问题
- sql - 如何在 SQL Server 中生成唯一的数字 ID(不使用标识)?
- visual-studio-code - 在 VsCode 强制扩展中,当我接受完成项时,我应该如何获取索引?
- python - TclError:没有显示名称
- php - 在 Laravel 8 和 jetstream 中登录后,redirect() 助手返回一个空白页面
- swiftui - 即使在第一个视图 Swiftui 中设置了值,ObservedObject 也返回 nil