StringRegExp模式不能正常工作



我有这个字符串:

{"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将到目前为止匹配的文本归零,然后用[^"]*
    • 匹配"以外的0+字符
    • K[^][s,{}]+ - K删除迄今为止匹配的文本,[^][s,{}]+匹配除], [,空白,,, {}以外的1+字符。

相关内容

  • 没有找到相关文章

最新更新