使用正则表达式以角度拆分json数据

使用正则表达式以角度拆分json数据,json,regex,angularjs,split,string-split,Json,Regex,Angularjs,Split,String Split,在服务的每个请求中,获取不同格式的数据。下面是我在不同请求中的json数据。是否有任何通用的正则表达式模式来分割我的数据并获得预期的结果 第一个请求。json结果: "myid":"{1132} AND {1133} AND {1134} AND {1139} AND {1140} AND {1142} AND {1143} AND {1144} AND {1147} AND {1148} AND {1149} AND {1269} AND {1543} AND {1548} AND {1549

在服务的每个请求中,获取不同格式的数据。下面是我在不同请求中的json数据。是否有任何通用的正则表达式模式来分割我的数据并获得预期的结果

第一个请求。json结果:

"myid":"{1132} AND {1133} AND {1134} AND {1139} AND {1140} AND {1142} AND {1143} AND {1144} AND {1147} AND {1148} AND {1149} AND {1269} AND {1543} AND {1548} AND {1549} AND {1550} AND {1551} AND {1552} AND {1879} AND {1880} AND {1881} AND {1886} AND {1889} AND {1891} AND {1893} AND {1894}"
拆分后应为:

1132----group 1 radio button
1132 ----group 2 radio button
1133 ----group 3 radio button
.
.
.
1057  ---group 1 radio button 
1131 ---group 2  radio button
1132  ---group 2 radio button
1133  ---group 2 radio button
.
.
1055  ---group 1 radio button 
1056---group 2 check box
1057---group 2 check box
1058---group 2 check box
1131  ---group 3 radio button
1132  ---group 3  radio button
.
.
第二个请求。Json数据:

"myid":"{1057} AND ({1131} OR {1132} OR {1133} OR {1134} OR {1139} OR {1140} OR {1550} OR {1551} OR {1552} OR {1879} OR {1880} OR {1881} OR {1147} OR {1148} OR {1149} OR {1269} OR {1548} OR {1549} OR {1141} OR {1142} OR {1143} OR {1144} OR {1145} OR {1146})"
myid":"({1055} OR ({1056} AND {1057} AND {1058})) AND ({1131} OR {1132} OR {1133} OR {1134} OR {1139} OR {1140} OR {1550} OR {1551} OR {1552} OR {1879} OR {1880} OR {1881} OR {1147} OR {1148} OR {1149} OR {1269} OR {1548} OR {1549} OR {1141} OR {1142} OR {1143} OR {1144} OR {1145} OR {1146})"
拆分后应为:

1132----group 1 radio button
1132 ----group 2 radio button
1133 ----group 3 radio button
.
.
.
1057  ---group 1 radio button 
1131 ---group 2  radio button
1132  ---group 2 radio button
1133  ---group 2 radio button
.
.
1055  ---group 1 radio button 
1056---group 2 check box
1057---group 2 check box
1058---group 2 check box
1131  ---group 3 radio button
1132  ---group 3  radio button
.
.
第三个请求。Json数据:

"myid":"{1057} AND ({1131} OR {1132} OR {1133} OR {1134} OR {1139} OR {1140} OR {1550} OR {1551} OR {1552} OR {1879} OR {1880} OR {1881} OR {1147} OR {1148} OR {1149} OR {1269} OR {1548} OR {1549} OR {1141} OR {1142} OR {1143} OR {1144} OR {1145} OR {1146})"
myid":"({1055} OR ({1056} AND {1057} AND {1058})) AND ({1131} OR {1132} OR {1133} OR {1134} OR {1139} OR {1140} OR {1550} OR {1551} OR {1552} OR {1879} OR {1880} OR {1881} OR {1147} OR {1148} OR {1149} OR {1269} OR {1548} OR {1549} OR {1141} OR {1142} OR {1143} OR {1144} OR {1145} OR {1146})"
拆分后应为:

1132----group 1 radio button
1132 ----group 2 radio button
1133 ----group 3 radio button
.
.
.
1057  ---group 1 radio button 
1131 ---group 2  radio button
1132  ---group 2 radio button
1133  ---group 2 radio button
.
.
1055  ---group 1 radio button 
1056---group 2 check box
1057---group 2 check box
1058---group 2 check box
1131  ---group 3 radio button
1132  ---group 3  radio button
.
.
使用以下代码分成两个
$scope
变量(
$scope.mysplit
$scope.mysplitor
)并打印我的结果,但由于服务数据的动态行为,无法概括我的逻辑

$scope.mysplit = (val.myid).split("AND");
                    if ($scope.mysplit.length == 1) {
                        $scope.mysplitand = $scope.mysplit[0].substring(1, $scope.mysplit[0].length - 1);
                        $scope.mysplit = $scope.mysplitand;
                        $scope.mysplitor = [];
                    }
                    else {
                        $scope.mysplitand = $scope.mysplit[0].substring(1, $scope.mysplit[0].length - 2);
                        $scope.mysplitor = $scope.mysplit[1].substring(2, $scope.mysplit[1].length - 1).split("OR");
                        for (var i = 0; i < $scope.mysplitor.length; i++) {

                            $scope.mysplitor[i] = ($scope.mysplitor[i].trim());
                            $scope.mysplitor[i] = ($scope.mysplitor[i].substring(1, $scope.mysplit[0].length - 2));
                        }
                    }

                }
$scope.mysplit=(val.myid).split(“AND”);
如果($scope.mysplit.length==1){
$scope.mysplit=$scope.mysplit[0]。子字符串(1,$scope.mysplit[0]。长度-1);
$scope.mysplit=$scope.mysplitand;
$scope.mysplitor=[];
}
否则{
$scope.mysplit=$scope.mysplit[0]。子字符串(1,$scope.mysplit[0]。长度-2);
$scope.mysplitor=$scope.mysplit[1]。子字符串(2,$scope.mysplit[1]。长度-1)。拆分(“或”);
对于(变量i=0;i<$scope.mysplitor.length;i++){
$scope.mysplitor[i]=($scope.mysplitor[i].trim());
$scope.mysplitor[i]=($scope.mysplitor[i]。子字符串(1,$scope.mysplit[0]。长度-2));
}
}
}

提前感谢您的帮助。

您能否澄清一下:在您的第一个示例中,什么是
11132
?关于第三个问题,为什么在复选框中将
1056
1057
分开?一般来说,您使用的拆分规则是什么?对不起,输入错误。现在更新。您能否澄清一下:在您的第一个示例中,什么是
11132
?关于第三个问题,为什么在复选框中将
1056
1057
分开?一般来说,分割的规则是什么?对不起,输入错误。现在更新