php - 正则表达式/PHP,结尾不匹配

标签 php regex

我正在尝试获得 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"}

关于php - 正则表达式/PHP,结尾不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400924/

相关文章:

php - POST undefined index php

PHP - 停止显示错误的完整路径

php - 未找到类 'MongoDB\Cient'

java - 检查 id 是否在字符串中,如果是则获取值

MySQL 搜索和替换正则表达式

php - 如何自定义内容而不是 TCPDF 中的页眉和页脚

php - fatal error :调用未定义的方法 DateTime::createfromformat()

javascript - 字符串到对象的转换?

REGEX 捕获不同组的重复组

PHP:如何去掉多列行中双引号内的逗号?