正则表达式如何匹配shell32.dll
本帖最后由 xlcwxl 于 2010-1-23 15:15 编辑说明,先检测输入框是否包含了shell32.dll,0到237之间的数字,如果有则不打包
$icon = GUICtrlRead($Input1)
$file = FileOpen(@ScriptDir&"\Shortcut.au3", 2)
if $icon<>"\bshell32.dll,\d" Then FileWrite($file,'FileInstall($icon,@SystemDir&"\")' &
FileClose($file)
EndIf
\bshell32.dll,\d
正则是这样写对吗?自己解决了;想了另外一种办法$icon = GUICtrlRead($Input1)
$file = FileOpen(@ScriptDir&"\Shortcut.au3", 2)
if $icon<>"\bshell32.dll,\d" Then FileWrite($file,'FileInstall($icon,@SystemDir&"\")' &
FileClose($file)
EndIf 如果要求输入很严谨,那么 ^shell32.dll,0||1|2|23$ ^shell32\.dll,||1|2|23$
(.) 是 非换行符 要转义 其实还有个严重问题,FILEINSTALL的第一个参数不支持变量 If $icon<>"" AndStringLeft($icon, 12)<>"shell32.dll," Then FileWrite($file,'FileInstall("'&$icon&'",@SystemDir&"\")' & @CRLF)
页:
[1]