StringRegExp 模式无法正常工作
StringRegExp pattern not working properly
我有这个字符串:
{"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 引擎(这就是我的想法)。
您可以使用如下正则表达式:
"\s*:\s*(?:"\K[^"]*|\K[^][\s,{}]+)
详情:
"\s*:\s*
- 文字 "
、0+ 个空格、:
、0+ 个空格
(?:"\K[^"]*|\K[^][\s,{}]+)
- 非捕获组匹配 2 个备选方案:
"\K[^"]*
- "
,然后 \K
将到目前为止匹配的文本归零,然后将 "
以外的 0+ 个字符与 [^"]*
匹配
\K[^][\s,{}]+
- \K
删除到目前为止匹配的文本,并且 [^][\s,{}]+
匹配除 ]
、[
、空格、,
、{
和 }
.
我有这个字符串:
{"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 引擎(这就是我的想法)。
您可以使用如下正则表达式:
"\s*:\s*(?:"\K[^"]*|\K[^][\s,{}]+)
详情:
"\s*:\s*
- 文字"
、0+ 个空格、:
、0+ 个空格(?:"\K[^"]*|\K[^][\s,{}]+)
- 非捕获组匹配 2 个备选方案:"\K[^"]*
-"
,然后\K
将到目前为止匹配的文本归零,然后将"
以外的 0+ 个字符与[^"]*
匹配\K[^][\s,{}]+
-\K
删除到目前为止匹配的文本,并且[^][\s,{}]+
匹配除]
、[
、空格、,
、{
和}
.