xlcwxl 发表于 2010-1-22 16:39:40

正则表达式如何匹配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

supersp 发表于 2010-1-22 17:42:44

如果要求输入很严谨,那么 ^shell32.dll,0||1|2|23$

xingkekeli 发表于 2010-1-23 10:34:06

^shell32\.dll,||1|2|23$

(.) 是 非换行符 要转义

llztt 发表于 2010-1-23 11:07:35

其实还有个严重问题,FILEINSTALL的第一个参数不支持变量

xlcwxl 发表于 2010-1-23 15:14:57

If $icon<>"" AndStringLeft($icon, 12)<>"shell32.dll," Then FileWrite($file,'FileInstall("'&$icon&'",@SystemDir&"\")' & @CRLF)
页: [1]
查看完整版本: 正则表达式如何匹配shell32.dll