cashiba
发表于 2017-2-15 10:21:28
受本题启发,我写了个能删除au3中所有注释的脚本
binghc 发表于 2010-11-9 17:21 http://www.autoitx.com/images/common/back.gif
(?m)(?<=^);.*|(".*?")|(?<!^)\s*;[^\r]+|(?s)#cs(?:(?!#ce).)*#ce
分解后如下:
(?m)
(?<=^);.*
|(".*?")
|(?<!^)\s*;[^\r]+
|(?s)#cs(?:(?!#ce).)*#ce
涉及到不少正则知识阿,好像用到了断言、非捕获组之类的....
(?<=^)以及(?<!^)里的这个^是个多义符,差点当成[^...]里的这个^了
新手理解不透彻,哪位高手解析一下下上面的正则吧.....
{:face (332):}
zpmc123
发表于 2017-2-21 22:10:42
回复 1# afan
高手出的代码来学学
zdpcc
发表于 2017-3-2 18:02:44
这个都是牛人啊,一看正则就头痛,
lxwlxwayy
发表于 2017-3-5 10:40:29
哎不懂正则阿
#include <Array.au3>
Local $Str = '$s =' & "'2" & '"3;5 ' & "'&$a & " & '"a' & "' ;" & '"& $b;" ' & "' s a a注释;ad" & '" ' & "' "
$days = StringSplit($Str, ";")
_ArrayDelete($days, 4)
_ArrayDelete($days, 4)
auto
发表于 2020-7-31 14:23:52
看一下如何快速删除