Можно так-же добавить проверку ключей реестра


Код: Выделить всё
$sCompile_String = '/In "Yes" /Icon "No" /Bin "Ok" /Comp 1'
$sCompile_String = StringRegExpReplace($sCompile_String, '(/[\w-]*)\s("?[\w-]*"?)', '\1 %s')
ConsoleWrite($sCompile_String & @CRLF)
), а я столько мучался
...
- Т.ч мне первый вариант очень даже подходит, спасибо.
...
Сменились значения спец. символов. Придёться с английской справкой работать((Код: Выделить всё
StringRegExp($Clip, '\b:\\([^/:*?|])*(\.txt|txt\.bk)(\n|$)')
Код: Выделить всё
$Clip = _
"C:\Testing\SomeFile.txt" & @LF & _
"Testing\OtherFile.txt"
;$Clip = ClipGet()
$sExt_Pattern = '\.txt|\.txt\.bk' ;Файлы ещё могут иметь расширение txt.bk (обязательно вместе)
$iEnable_Paste_Item = StringRegExp($Clip, '\b:\\([^\/:*?|])*(' & $sExt_Pattern & ')(\n|$)')
MsgBox(0, "", "$iEnable_Paste_Item = " & $iEnable_Paste_Item)Код: Выделить всё
#Region : Построение регулярного выражения
$ExpandVarStrings = Opt("ExpandVarStrings", 1)
$extn = "(?:\.txt|\.txt\.bk)"
; диск ("C:")
$disk_1 = ".:"
$disk_2 = "[a-z]:"
; UNC путь (\\server-1.domain.local)
$host_1 = "\\\\[-\w.]+"
$host_2 = "\\\\[-\w]+(?:\.[-\w]+)*"
; корень пути (все возможные варианты)
$root_1 = "(?:$disk_1$|$host_1$)"
$root_2 = "(?:$disk_2$|$host_2$)"
; путь без корня, включая имя файла
$path_1 = ".*"
$path_2 = "(?:\\[^\n\\]+)+"
; путь без корня, без имени файла
$path_3 = "\\(?:[^\n\\]+\\)*"
; только имя файла без пути
$name_3 = ".+$extn$"
$name_4 = "[^\n\\]+$extn$"
; одна строки списка файлов
$line_1 = "$root_1$$path_1$$extn$"
$line_2 = "$root_2$$path_2$$extn$"
$line_3 = "($root_2$$path_3$)$name_3$"
$line_4 = "($root_2$$path_3$)$name_4$"
; варианты выражений с разной детализацией
$RegExp_1 = "(?i)^(?:$line_1$(?:\n|$$))+$$"
$RegExp_2 = "(?i)^(?:$line_2$(?:\n|$$))+$$"
$RegExp_3 = "(?i)^$line_3$(?:\n\1$name_3$)*$$" ; файлы с одного ресурса (один путь)
$RegExp_4 = "(?i)^$line_4$(?:\n\1$name_4$)*$$" ; файлы с одного ресурса (один путь)
Opt("ExpandVarStrings", $ExpandVarStrings)
#EndRegion
$sClip = ClipGet()
ConsoleWrite($sClip &@CRLF&@CRLF)
ConsoleWrite(StringRegExp($sClip,$RegExp_1) &': "'& $RegExp_1 &'"'&@CRLF)
ConsoleWrite(StringRegExp($sClip,$RegExp_2) &': "'& $RegExp_2 &'"'&@CRLF)
ConsoleWrite(StringRegExp($sClip,$RegExp_3) &': "'& $RegExp_3 &'"'&@CRLF)
ConsoleWrite(StringRegExp($sClip,$RegExp_4) &': "'& $RegExp_4 &'"'&@CRLF)Код: Выделить всё
$sCompile_String = '/In "Yes" /Icon "No" /Bin "Ok" /Comp 1'
$sCompile_String = StringRegExpReplace($sCompile_String,' +("[^"]*"|[^/ ]+)',' %s')
ConsoleWrite($sCompile_String & @CRLF)

