alwaystick 发表于 2016-7-4 18:18:02

[已解决]正则表达式一个测试软件匹配成功,另一个匹配失败??

本帖最后由 alwaystick 于 2016-7-4 18:40 编辑

想匹配一下文本中的红字部分(红字部分会变动)
{
"configs": [
    {
      "server": "127.0.0.1",
      "server_port": 8388,
      "password": "3",
      "method": "aes-256-cfb",
      "remarks": "323",
      "auth": false
    }
],
"strategy": null,
"index": 0,
"global": false,
"enabled": true,
"shareOverLan": false,
"isDefault": false,
"localPort": 1080,
"pacUrl": null,
"useOnlinePac": false,
"availabilityStatistics": false,
"autoCheckUpdate": false,
"logViewer": {
    "fontName": "Consolas",
    "fontSize": 8.25,
    "bgColor": "Black",
    "textColor": "White",
    "topMost": false,
    "wrapText": false,
    "toolbarShown": false,
    "width": 600,
    "height": 400,
    "top": 328,
    "left": 766
}
}

于是写了这样一个正则
(?<=\{).+\s+.+\s+.+\s+.+\s+.+.+\s+.+\s+\"remarks\"\: \".+\s+\"auth\"\:.+\s+\}
把这个正则放在deerchao的正则测试工具(deerchao是正则表达式30分钟入门教程 的作者)测试成功,匹配出红字部分。

但诡异的事就来了。在AutoIt中匹配失败,甚至用水木子的测试工具也匹配不出来。

这是怎么回事?是因为正则和AutoIt的不兼容吗?请教各位大神!

afan 发表于 2016-7-4 18:32:49

(?s){([^{}]+?"remarks".+?})

alwaystick 发表于 2016-7-4 18:38:50

回复 2# afan
十分感谢,水木子和deerchao的都通过了。

haijie1223 发表于 2016-7-5 18:03:45

看到正则问题就忍不住想试试(?s)"configs".*?{(.*?)}
页: [1]
查看完整版本: [已解决]正则表达式一个测试软件匹配成功,另一个匹配失败??