过去几天(几周,几个月,几年可能,如果你再次尝试重复搜索和尝试)我一直在尝试制作或找到一个RegEx过滤器来帮助我删除所有多余的括号我的代码。
附加了正则表达式过滤器必须处理的最坏情况。这是最好的情况
return((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( ))+ getHumanReadableLine(“hasAudioEncoder”))+ getHumanReadableLine(“hasEmbeddedVideo”))+ getHumanReadableLine(“hasIME”))+ getHumanReadableLine(“hasMP3”))+ getHumanReadableLine(“hasPrinting”))+ getHumanReadableLine(“hasScreenBroadcast”)) + getHumanReadableLine(“hasScreenPlayback”))+ getHumanReadableLine(“hasStreamingAudio”))+ getHumanReadableLine(“hasStreamingVideo”))+ getHumanReadableLine(“hasTLS”))+ getHumanReadableLine(“hasVideoEncoder”))+ getHumanReadableLine(“isDebugger”))+ getHumanReadableLine (“language”))+ getHumanReadableLine(“localFileReadDisable”))+ getHumanReadableLine(“manufacturer”))+ getHumanReadableLine(“os”))+ getHumanReadableLine(“pixelAspectRatio”))+ getHumanReadableLine(“playerType”))+ getHumanReadableLine(“ screenColor“))+ getHumanReadableLine(”screenDPI“))+ getHumanReadableLine(”screenResolution X“))+ getHumanReadableLine(”screenResolutionY“))+ getHumanReadableLine(”version“)));
return((((name +“:”)+ Capabilities [name])+“\ n”));
正如你所看到的那样......我的代码中有一些......多余的括号。很长一段时间以来一直在积极地工作,但一直试图清理我遇到的事情,并一直试图找到一种更快的方法。
所以关于“干净”代码看起来如何的一个例子,我希望至少!
return(name +“:”+ Capabilities [name] +“\ n”);
返回姓名+“:”+功能[名称] +“\ n”;
只要代码本身没有模拟并改变它的工作方式,任何一个都可以完全诚实。
我非常感谢任何人都能给我的答案。请不要模仿我做或想要实现的目标。我之前没有使用正则表达式或类似的东西......
只是为了幽默你......这是我的“清洁”示例中的“RegExp”
(return)({1,}((。[^]] {1,}))(。{1,}))(。{1,})){1,}
$ 1 $ 2 $ 3 $ 4 //输出
哦...忘了提及
(!(testCrossZ()))
有时可能会出现,但如果需要,可以手动清理那些问题。
P.S ......多余的括号中出现“很多”......就像......可能有数千......很可能是数以千计。
答案 0 :(得分:1)
不确定它是否适用于动作脚本,但对于Java,您可以执行:Main Menu | Analyze | Run Inspection by Name | type "parentheses" | select "Unnecessary parentheses" | run in the whole project and fix all problems
结果:
return getHumanReadableLine("avHardwareDisable") + getHumanReadableLine("hasAccessibility")
+ getHumanReadableLine("hasAudio") + getHumanReadableLine("hasAudioEncoder")
+ getHumanReadableLine("hasEmbeddedVideo") + getHumanReadableLine("hasIME")
+ getHumanReadableLine("hasMP3") + getHumanReadableLine("hasPrinting")
+ getHumanReadableLine("hasScreenBroadcast") + getHumanReadableLine("hasScreenPlayback")
+ getHumanReadableLine("hasStreamingAudio") + getHumanReadableLine("hasStreamingVideo")
+ getHumanReadableLine("hasTLS") + getHumanReadableLine("hasVideoEncoder")
+ getHumanReadableLine("isDebugger") + getHumanReadableLine("language")
+ getHumanReadableLine("localFileReadDisable") + getHumanReadableLine("manufacturer")
+ getHumanReadableLine("os") + getHumanReadableLine("pixelAspectRatio")
+ getHumanReadableLine("playerType") + getHumanReadableLine("screenColor")
+ getHumanReadableLine("screenDPI") + getHumanReadableLine("screenResolutionX")
+ getHumanReadableLine("screenResolutionY") + getHumanReadableLine("version");
答案 1 :(得分:0)
老实说,我还没有理解你想要的输出格式的确切形式,但根据初学者的说法,至少可以使用纯JavaScript来清除不必要的括号,如下所示。
var text = 'return ((((((((((((((((((((((((((getHumanReadableLine("avHardwareDisable") + getHumanReadableLine("hasAccessibility")) + getHumanReadableLine("hasAudio")) + getHumanReadableLine("hasAudioEncoder")) + getHumanReadableLine("hasEmbeddedVideo")) + getHumanReadableLine("hasIME")) + getHumanReadableLine("hasMP3")) + getHumanReadableLine("hasPrinting")) + getHumanReadableLine("hasScreenBroadcast")) + getHumanReadableLine("hasScreenPlayback")) + getHumanReadableLine("hasStreamingAudio")) + getHumanReadableLine("hasStreamingVideo")) + getHumanReadableLine("hasTLS")) + getHumanReadableLine("hasVideoEncoder")) + getHumanReadableLine("isDebugger")) + getHumanReadableLine("language")) + getHumanReadableLine("localFileReadDisable")) + getHumanReadableLine("manufacturer")) + getHumanReadableLine("os")) + getHumanReadableLine("pixelAspectRatio")) + getHumanReadableLine("playerType")) + getHumanReadableLine("screenColor")) + getHumanReadableLine("screenDPI")) + getHumanReadableLine("screenResolutionX")) + getHumanReadableLine("screenResolutionY")) + getHumanReadableLine("version")));',
r = /\(((getHumanReadableLine\("\w+"\)[\s\+]*)+)\)/g,
temp = "";
while (text != temp) {
temp = text;
text = text.replace(r,"$1");
}
document.write('<pre>' + text + '</pre>');
从这一点开始,将简化文本转换为所需的输出格式应该不是什么大问题。