我有这个字符串:
{"name": "Fancy HaXXor123Name","profession": 1,"race": 2,"map_id": 1052,"world_id": 268435461,"team_color_id": 0,"commander": false,"fov": 0.768}
我想得到一个数组,其中包括以下信息(从左到右从字符串):
Fancy HaXXor123Name
1
2
1052
268435461
0
false
0.768
我试着用RegExBuddy弄乱,得到了一个有希望的模式,看起来像这样
(d{1,}).(d{1,})|(d{1,})|(?i)"(.*?)"
这是我得到的
name
Fancy HaXXor123Name
profession
1
race
2
map_id
10
2
world_id
2684354
1
team_color_id
0
commander
fov
0
768
所以信息之间有很大的空格,数字被撕裂,假的丢失。我无法解决这个问题,我对StringRegExp完全陌生。
我正在使用AutoIT,它使用PCRE RegExp-Engine(这是我的想法)。
您可以像下面这样使用正则表达式:
"s*:s*(?:"K[^"]*|K[^][s,{}]+)
查看regex演示
:
-
"s*:s*
-文字"
, 0+ whitespaces,:
, 0+ whitespaces -
(?:"K[^"]*|K[^][s,{}]+)
-非捕获组匹配2个备选方案:-
"K[^"]*
-"
,然后K
将到目前为止匹配的文本归零,然后用[^"]*
匹配 -
K[^][s,{}]+
-K
删除迄今为止匹配的文本,[^][s,{}]+
匹配除]
,[
,空白,,
,{
和}
以外的1+字符。
"
以外的0+字符 -