【问题标题】:REGEX: needed in php [duplicate]正则表达式:php中需要[重复]
【发布时间】:2017-03-07 12:53:57
【问题描述】:
{
    "status": "success",
    "data": {
        "title": "test2",
        "json_query": {
            "condition": "AND",
            "rules": [{
                "id": "event",
                "field": "event",
                "type": "string",
                "operator": "equal",
                "value": "signup"
            }, {
                "condition": "AND",
                "rules": [{
                    "id": "event",
                    "field": "event",
                    "type": "string",
                    "operator": "equal",
                    "value": "signup"
                }, {
                    "condition": "AND",
                    "rules": [{
                        "id": "kwd",
                        "field": "kwd",
                        "type": "string",
                        "operator": "equal",
                        "value": "epub"
                    }]
                }]
            }, {
                "id": "kwd",
                "field": "kwd",
                "type": "string",
                "operator": "equal",
                "value": "arts"
            }, {
                "condition": "AND",
                "rules": [{
                    "id": "kwd",
                    "field": "kwd",
                    "type": "string",
                    "operator": "equal",
                    "value": "automotive"
                }, {
                    "condition": "AND",
                    "rules": [{
                        "id": "kwd",
                        "field": "kwd",
                        "type": "string",
                        "operator": "equal",
                        "value": "books"
                    }, {
                        "condition": "AND",
                        "rules": [{
                            "id": "kwd",
                            "field": "kwd",
                            "type": "string",
                            "operator": "equal",
                            "value": "business"
                        }, {
                            "condition": "AND",
                            "rules": [{
                                "id": "kwd",
                                "field": "kwd",
                                "type": "string",
                                "operator": "equal",
                                "value": "books"
                            }]
                        }]
                    }]
                }]
            }]
        }
    }
}

这是我的字符串,我需要正则表达式,它将获取所有 id 及其值

例如:“id”:“事件”,“id”:“事件”,“id”:“kwd”,“id”:“kwd”

表示每次出现,所以我可以替换或添加一个唯一值到 id

注意:- 我不想做一个数组,不想做循环,

寻找用 preg_match 或任何其他正则表达式方法替换的可能性。

【问题讨论】:

  • 不要使用正则表达式来解析 JSON。有functions for this
  • 使用json_decode()并将其转换为php数组。做任何你想做的事,然后使用json_encode() 转换回 json。顺便说一句,我根本不是反对者
  • 如果我想这样做,我没有问这个
  • 你为什么要写这个
  • 这个问题的答案应该与您在编写该问题时所付出的努力一样多,这是。请花一些时间完成tour 并通读help center,尤其是How to Ask,然后再在此处发布您的下一个问题。

标签: php regex-negation regex-lookarounds


【解决方案1】:

我自己得到了答案:

preg_match_all('/"id":"(.*)",/U', $json, $matches, PREG_PATTERN_ORDER);

print_r($matches);死;

【讨论】:

  • 你问了一个问题,甚至没有听取人们在 cmets 中所说的话的建议?请参阅 #1#2不要为此使用正则表达式。
  • 每个人都通过将它转换为数组来做这件事,我的动机只是在字符串中使用正则表达式。
猜你喜欢
  • 2020-01-23
  • 2016-04-30
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多