[已解决]正则表达式一个测试软件匹配成功,另一个匹配失败??
本帖最后由 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的不兼容吗?请教各位大神! (?s){([^{}]+?"remarks".+?}) 回复 2# afan
十分感谢,水木子和deerchao的都通过了。 看到正则问题就忍不住想试试(?s)"configs".*?{(.*?)}
页:
[1]