Php 正则表达式弄乱了json_decode();
我使用一个包含json字符串的文件来创建请求验证。我的一个测试中的JSON片段如下所示:Php 正则表达式弄乱了json_decode();,php,regex,json,Php,Regex,Json,我使用一个包含json字符串的文件来创建请求验证。我的一个测试中的JSON片段如下所示: { "name": "pattern", "attributes": [ { "name": "pattern", "value": "^[\d]{2}$" } ] } 但是,当您尝试在此字符串上使用json_decode时,会出现
{
"name": "pattern",
"attributes": [
{
"name": "pattern",
"value": "^[\d]{2}$"
}
]
}
但是,当您尝试在此字符串上使用json_decode时,会出现json语法错误。它与正则表达式的内容有关。为什么会这样?有什么办法吗?反斜杠需要转义:
"value": "^[\\d]{2}$"
允许以下字符串标记:
除--或-\-或控制字符以外的任何Unicode字符
\
\\
\/
\b
\f
\n
\r
\t
\四个十六进制数字
\d是不允许的。反斜杠需要转义:
"value": "^[\\d]{2}$"
允许以下字符串标记:
除--或-\-或控制字符以外的任何Unicode字符
\
\\
\/
\b
\f
\n
\r
\t
\四个十六进制数字
\d是不允许的。您需要转义掉\,因为\d在JSON中不是有效的控制字符。您需要转义掉\,因为\d在JSON中不是有效的控制字符。您可能应该用另一个反斜杠转义掉反斜杠``您可能应该用另一个反斜杠转义掉反斜杠`\`