[SciTE/Notepad++] Regexp Tester

  • Hallo zusammen,

    hab heut' beim Aufräumen ein verschollen geglaubtes Skript gefunden. Der Code ist wirr aber es scheint, soweit ich das im Moment beurteilen kann, zu funktionieren. Vieleicht findet es ja noch bei jemanden Verwendung.

    [Blockierte Grafik: http://h-2.abload.de/img/regexpha2z.png]

    • markierte Skriptstellen werden beim Start als zu prüfender String übernommen
    • Dateien und Webseiten lassen sich direkt als zu prüfender String importieren
    • kleine Bibliothek für reguläre Ausdrücke
    • für AutoIt formatierter Export des Regexp, des Quellstrings und des Outputs in die Zwischenablage

    SciTE:

    "als c:\Programme\AutoIt3\SciTE\RegexpTester\regexp.au3 speichern"
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GuiRichEdit.au3>
    #include <GuiListView.au3>
    #include <array.au3>
    Opt('MustDeclareVars', 1)
    Opt("GUIOnEventMode", 1)
    #region DeclareVars
    Global $guiMain, $bRun, $bLibrary, $bFile, $bWeb, $bExport, $bHelp, $aControls[5], $eOutput
    Global $guiLibrary, $lPattern, $bSelect, $bChange, $bNew, $bDel, $bClose, $aIni
    Global $guiNewPattern, $iNewPattern, $iNewDescription, $bSaveNew, $Label1, $Label2
    Global $guiChangePattern, $iChangeDescription, $iChangePattern, $bSaveChange, $label3, $Label4
    Global $guiLoadWebpage, $iUrl, $bLoad
    Global $guiChangePattern, $bAbbort
    Global $aFlag[5] = [0, 1, 2, 3, 4]
    Global $aError[5]
    Global $temp
    Global $outputBkColor = 0x000000
    Global $outputFontColor = 0xffffff
    #endregion DeclareVars
    Global $ini = @ScriptDir & "\data.ini"
    #region guiLibrary
    $guiLibrary = GUICreate("Bibliothek", 539, 438, 254, 124, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiMain)
    $lPattern = GUICtrlCreateListView("", 8, 8, 426, 422)
    $bSelect = GUICtrlCreateButton("auswählen", 440, 8, 91, 25)
    $bChange = GUICtrlCreateButton("ändern", 440, 40, 91, 25)
    $bNew = GUICtrlCreateButton("neu", 440, 72, 91, 25)
    $bDel = GUICtrlCreateButton("löschen", 440, 104, 91, 25)
    $bClose = GUICtrlCreateButton("schließen", 440, 154, 91, 25)
    GUISetState(@SW_HIDE)
    #endregion guiLibrary
    #region guiMain
    $guiMain = GUICreate("", 794, 515)
    $aControls[1] = GUICtrlCreateInput("", 8, 8, 520, 21)
    $aControls[2] = GUICtrlCreateCombo("", 536, 8, 45, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
    $aControls[3] = GUICtrlCreateInput("", 584, 8, 41, 21)
    $bRun = GUICtrlCreateButton("", 630, 8, 25, 25, $BS_ICON)
    $bLibrary = GUICtrlCreateButton("", 655, 8, 25, 25, $BS_ICON)
    $bFile = GUICtrlCreateButton("", 680, 8, 25, 25, $BS_ICON)
    $bWeb = GUICtrlCreateButton("", 705, 8, 25, 25, $BS_ICON)
    $bExport = GUICtrlCreateButton("", 730, 8, 25, 25, $BS_ICON)
    $bHelp = GUICtrlCreateButton("", 760, 8, 25, 25, $BS_ICON)
    $aControls[4] = GUICtrlCreateEdit("", 8, 38, 777, 210)
    $eOutput = GUICtrlCreateEdit("### Output ###", 8, 255, 777, 245, BitOR($GUI_SS_DEFAULT_EDIT, $ES_READONLY))
    GUISetState(@SW_SHOW)
    #endregion guiMain

    [/autoit] [autoit][/autoit] [autoit]

    #region Events
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    GUICtrlSetOnEvent($bRun, "_run")
    GUICtrlSetOnEvent($bLibrary, "_showLibrary")
    GUICtrlSetOnEvent($bSelect, "_selectPattern")
    GUICtrlSetOnEvent($bNew, "_newPattern")
    GUICtrlSetOnEvent($bChange, "_changePattern")
    GUICtrlSetOnEvent($bDel, "_deletePattern")
    GUICtrlSetOnEvent($bClose, "_closeLibrary")
    GUICtrlSetOnEvent($bFile, "_loadFile")
    GUICtrlSetOnEvent($bWeb, "_loadWeb")
    GUICtrlSetOnEvent($bHelp, "_openHelp")
    GUICtrlSetOnEvent($bExport, "_export")
    #endregion Events

    [/autoit] [autoit][/autoit] [autoit]

    #region set Controls
    GUICtrlSetData($aControls[1], "(.+)")
    GUICtrlSetTip($aControls[1], "Pattern")
    For $element In $aFlag
    GUICtrlSetData($aControls[2], $element, $aFlag[0])
    Next
    GUICtrlSetTip($aControls[2], "Flag")
    GUICtrlSetData($aControls[3], "1")
    GUICtrlSetTip($aControls[3], "Offset")
    If IsArray($CMDLINE) And $CMDLINE[0] = 1 And $CMDLINE[1] <> "" Then
    GUICtrlSetData($aControls[4], $CMDLINE[1])
    EndIf
    GUICtrlSetImage($bRun, @SystemDir & "\shell32.dll", 246, 0)
    GUICtrlSetTip($bRun, "ausführen")
    GUICtrlSetImage($bFile, @SystemDir & "\shell32.dll", 2, 0)
    GUICtrlSetTip($bFile, "Datei laden")
    GUICtrlSetImage($bWeb, @SystemDir & "\shell32.dll", 15, 0)
    GUICtrlSetTip($bWeb, "Webseite laden")
    GUICtrlSetImage($bLibrary, @SystemDir & "\shell32.dll", 173, 0)
    GUICtrlSetTip($bLibrary, "Bibliothek öffnen")
    GUICtrlSetImage($bExport, @SystemDir & "\shell32.dll", 16750, 0)
    GUICtrlSetTip($bExport, "in Zwischenablage exportieren")
    GUICtrlSetImage($bHelp, @SystemDir & "\shell32.dll", 24, 0)
    GUICtrlSetTip($bHelp, "Onlinehilfe")
    GUICtrlSetBkColor($eOutput, $outputBkColor)
    GUICtrlSetColor($eOutput, $outputFontColor)
    _GUICtrlListView_InsertColumn($lPattern, 0, "Beschreibung", 220)
    _GUICtrlListView_InsertColumn($lPattern, 1, "Pattern", 200)
    #endregion set Controls

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _run()
    Local $errorMessage
    Local $outputMessage = "### Output ###"
    Local $result
    Local $sError, $error, $extended
    Local $aResult, $aMatch
    Local $pattern = GUICtrlRead($aControls[1])
    Local $flag = GUICtrlRead($aControls[2])
    Local $offset = GUICtrlRead($aControls[3])
    Local $string = GUICtrlRead($aControls[4])
    For $i = 0 To 4
    $aError[$i] = ""
    Next
    If $pattern = "" Then
    $aError[1] = "- kein Pattern angegeben"
    $aError[0] += 1
    EndIf
    If $flag = "" Then
    $aError[2] = "- kein Flag gewählt"
    $aError[0] += 1
    EndIf
    If $offset = "" Or $offset <= 0 Then
    $aError[3] = "- kein gültiger Offset angegeben"
    $aError[0] += 1
    EndIf
    If $string = "" Then
    $aError[4] = "- ohne String gibt's auch nichts zum durchsuchen"
    $aError[0] += 1
    EndIf
    If $aError[0] > 0 Then
    For $i = 1 To 4 Step 1
    If $aError[$i] <> "" Then
    $errorMessage &= $aError[$i] & @CRLF
    GUICtrlSetBkColor($aControls[$i], 0xF5A9A9)
    Else
    GUICtrlSetBkColor($aControls[$i], Default)
    EndIf
    Next
    GUICtrlSetData($eOutput, $outputMessage & @CRLF & $errorMessage)
    Else
    If $flag = 0 Then
    $result = StringRegExp($string, $pattern, $flag, $offset)
    $sError = _setErrorDescribtion(@error, @extended, $pattern)
    If $result = 0 Then
    $outputMessage &= @CRLF & "False"
    ElseIf $result = 1 Then
    $outputMessage &= @CRLF & "True"
    EndIf
    GUICtrlSetData($eOutput, $outputMessage)
    _resetErrorColors()
    Else
    $aResult = StringRegExp($string, $pattern, $flag, $offset)
    $sError = _setErrorDescribtion(@error, @extended, $pattern)
    If $flag < 4 And $flag > 0 Then
    For $i = 0 To UBound($aResult) - 1
    $outputMessage &= @CRLF & "[" & $i & "] " & $aResult[$i]
    Next
    GUICtrlSetData($eOutput, $outputMessage & @CRLF & @CRLF & $sError)
    ElseIf $flag = 4 Then
    $sError = _setErrorDescribtion(@error, @extended, $pattern)
    For $i = 0 To UBound($aResult) - 1
    $aMatch = $aResult[$i]
    $outputMessage &= @CRLF & "[" & $i & "]" & @CRLF
    For $j = 0 To UBound($aMatch) - 1
    $outputMessage &= " -> [" & $j & ']' & $aMatch[$j] & @CRLF
    Next
    Next
    GUICtrlSetData($eOutput, $outputMessage & @CRLF & @CRLF & $sError)
    _resetErrorColors()
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_run

    [/autoit] [autoit][/autoit] [autoit]

    Func _setErrorDescribtion($error, $extended, $pattern)
    Local $sError
    If $error = 0 Then
    $sError = ""
    ElseIf $error = 1 Then
    $sError = "@error: " & $error & " -> keine Übereinstimmung"
    ElseIf $error = 2 Then
    $sError = "@error: " & $error & " -> fehlerhafter Pattern" & @CRLF & "@extended: " & $extended & " -> " & StringLeft($pattern, $extended - 1) & "^ERROR"
    EndIf
    Return $sError
    EndFunc ;==>_setErrorDescribtion

    [/autoit] [autoit][/autoit] [autoit]

    Func _resetErrorColors()
    For $i = 1 To 4
    GUICtrlSetBkColor($aControls[$i], Default)
    Next
    EndFunc ;==>_resetErrorColors

    [/autoit] [autoit][/autoit] [autoit]

    Func _showLibrary()
    GUISetState(@SW_SHOW, $guiLibrary)
    _listPatternLibrary()
    EndFunc ;==>_showLibrary

    [/autoit] [autoit][/autoit] [autoit]

    Func _selectPattern()
    Local $selected
    Local $get = _GUICtrlListView_GetSelectedIndices($lPattern, True)
    $selected = _GUICtrlListView_GetItemText($lPattern, $get[1], 1)
    GUICtrlSetData($aControls[1], $selected)
    GUISetState(@SW_HIDE, $guiLibrary)
    EndFunc ;==>_selectPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _newPattern()
    $guiNewPattern = GUICreate("Form1", 520, 61, -1, -1, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiLibrary)
    $iNewDescription = GUICtrlCreateInput("", 88, 8, 329, 21)
    $Label1 = GUICtrlCreateLabel("Beschreibung:", 8, 12, 72, 17)
    $iNewPattern = GUICtrlCreateInput("", 88, 32, 329, 21)
    GUICtrlSetData(-1, GUICtrlRead($aControls[1]))
    $Label2 = GUICtrlCreateLabel("Pattern:", 8, 36, 41, 17)
    $bSaveNew = GUICtrlCreateButton("speichern", 432, 30, 75, 23)
    GUICtrlSetOnEvent(-1, "_checkNewPattern")
    $bAbbort = GUICtrlCreateButton("abbrechen", 432, 8, 75, 23)
    GUICtrlSetOnEvent(-1, "_closeNew")
    GUISetState(@SW_SHOW)
    EndFunc ;==>_newPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _changePattern()
    Local $getSelected = _GUICtrlListView_GetSelectedIndices($lPattern, True)
    If UBound($getSelected) = 1 Then
    MsgBox(64, "", "Kein Eintrag gewählt")
    Else
    $guiChangePattern = GUICreate("Form1", 520, 61, 254, 124, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiLibrary)
    $iChangeDescription = GUICtrlCreateInput("Input1", 88, 8, 329, 21)
    $label3 = GUICtrlCreateLabel("Beschreibung:", 8, 12, 72, 17)
    $iChangePattern = GUICtrlCreateInput("Input2", 88, 32, 329, 21)
    $Label4 = GUICtrlCreateLabel("Pattern:", 8, 36, 41, 17)
    $bAbbort = GUICtrlCreateButton("abbrechen", 432, 8, 75, 23)
    $bSaveChange = GUICtrlCreateButton("ändern", 432, 30, 75, 23)
    GUICtrlSetOnEvent(-1, "_saveChangedPattern")
    GUICtrlSetOnEvent($bAbbort, "_closeChange")
    GUISetState(@SW_SHOW)
    GUICtrlSetData($iChangeDescription, _GUICtrlListView_GetItemText($lPattern, $getSelected[1]))
    GUICtrlSetData($iChangePattern, _GUICtrlListView_GetItemText($lPattern, $getSelected[1], 1))
    $temp = _GUICtrlListView_GetItemText($lPattern, $getSelected[1])
    EndIf
    EndFunc ;==>_changePattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _checkNewPattern()
    If GUICtrlRead($iNewPattern) <> "" And GUICtrlRead($iNewDescription) <> "" Then
    Local $a = IniRead($ini, "library", GUICtrlRead($iNewDescription), "")
    If $a <> "" Then
    MsgBox(64, "", "Ein Eintrag mit dieser Beschreibung" & @CRLF & "existiert bereits")
    Else
    _saveNewPattern()
    EndIf
    Else
    MsgBox(64, "", "Bitte alle Felder ausfüllen")
    EndIf
    EndFunc ;==>_checkNewPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _saveNewPattern()
    IniWrite($ini, "library", GUICtrlRead($iNewDescription), GUICtrlRead($iNewPattern))
    GUIDelete($guiNewPattern)
    _listPatternLibrary()
    EndFunc ;==>_saveNewPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _saveChangedPattern()
    If GUICtrlRead($iChangeDescription) <> $temp Then
    IniDelete($ini, "library", $temp)
    EndIf
    IniWrite($ini, "library", GUICtrlRead($iChangeDescription), GUICtrlRead($iChangePattern))
    GUIDelete($guiChangePattern)
    _listPatternLibrary()
    EndFunc ;==>_saveChangedPattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _deletePattern()
    Local $selected
    Local $get = _GUICtrlListView_GetSelectedIndices($lPattern, True)
    $selected = _GUICtrlListView_GetItemText($lPattern, $get[1])
    IniDelete($ini, "library", $selected)
    _listPatternLibrary()
    EndFunc ;==>_deletePattern

    [/autoit] [autoit][/autoit] [autoit]

    Func _listPatternLibrary()
    Local $aIni
    $aIni = IniReadSection($ini, "library")
    If IsArray($aIni) Then
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($lPattern))
    _GUICtrlListView_BeginUpdate($lPattern)
    For $i = 1 To $aIni[0][0]
    _GUICtrlListView_AddItem($lPattern, $aIni[$i][0], 0)
    _GUICtrlListView_AddSubItem($lPattern, $i - 1, $aIni[$i][1], 1)
    Next
    _GUICtrlListView_EndUpdate($lPattern)
    EndIf
    EndFunc ;==>_listPatternLibrary

    [/autoit] [autoit][/autoit] [autoit]

    Func _loadFile()
    Local $file = FileOpenDialog("", @DesktopCommonDir, "Alle Dateien (*.*)", 3, "", $guiMain)
    GUICtrlSetData($aControls[4], FileRead($file))
    EndFunc ;==>_loadFile

    [/autoit] [autoit][/autoit] [autoit]

    Func _loadWeb()
    $guiLoadWebpage = GUICreate("", 440, 40, -1, -1, BitOR($WS_CAPTION, $WS_GROUP), Default, $guiMain)
    $iUrl = GUICtrlCreateInput("", 8, 9, 265, 21)
    $bLoad = GUICtrlCreateButton("laden", 280, 8, 75, 23)
    GUICtrlSetOnEvent(-1, "_getSourceFromWeb")
    $bAbbort = GUICtrlCreateButton("abbrechen", 355, 8, 75, 23)
    GUICtrlSetOnEvent(-1, "_closeWeb")
    GUISetState(@SW_SHOW)
    EndFunc ;==>_loadWeb

    [/autoit] [autoit][/autoit] [autoit]

    Func _getSourceFromWeb()
    Local $sSource
    Local $sURL = GUICtrlRead($iUrl)
    If StringLeft($sURL, 7) <> "http://" Then
    $sURL = "http://" & $sURL
    EndIf
    GUICtrlSetData($aControls[4], BinaryToString(InetRead($sURL, 1)))
    GUIDelete($guiLoadWebpage)
    EndFunc ;==>_getSourceFromWeb

    [/autoit] [autoit][/autoit] [autoit]

    Func _openHelp()
    ShellExecute("http://translation.autoit.de/onlinehilfe/functions/StringRegExp.htm")
    EndFunc ;==>_openHelp

    [/autoit] [autoit][/autoit] [autoit]

    Func _export()
    Local $exportInclude = '#include <array.au3>'
    Local $exportEcho
    Local $exportPattern = GUICtrlRead($aControls[1])
    Local $exportFlag = GUICtrlRead($aControls[2])
    Local $exportOffset = GUICtrlRead($aControls[3])
    Local $exportSource = GUICtrlRead($aControls[4])
    Local $exportOutput = GUICtrlRead($eOutput)
    Local $patternTemplate, $sourceTemplate, $sourceArray, $outputArray, $completeTemplate, $outputTemplate
    $sourceArray = StringSplit($exportSource, @CRLF, 1)
    For $i = 1 To $sourceArray[0]
    If $i <> $sourceArray[0] Then
    $sourceTemplate &= "'" & $sourceArray[$i] & "' & @crlf & _" & @CRLF
    Else
    $sourceTemplate &= "'" & $sourceArray[$i] & "'"
    EndIf
    Next
    If $exportFlag = 0 Then
    $exportInclude = ""
    $exportEcho = 'MsgBox(64, "", $Result)'
    $patternTemplate = '$Result = StringRegExp($string, "' & $exportPattern & '", ' & $exportFlag & ', ' & $exportOffset & ')'
    Else
    $patternTemplate = '$aResult = StringRegExp($string, "' & $exportPattern & '", ' & $exportFlag & ', ' & $exportOffset & ')'
    If $exportFlag > 0 And $exportFlag < 4 Then
    $exportInclude = '#include <array.au3>'
    $exportEcho = '_ArrayDisplay($aResult)'
    Else
    $exportInclude = ''
    $exportEcho = ''
    EndIf
    EndIf
    $outputArray = StringSplit($exportOutput, @CRLF, 1)
    $outputTemplate = '#cs ### Output ###' & @CRLF
    For $i = 1 To $outputArray[0]
    If StringInStr($outputArray[$i], "[") Or StringInStr($outputArray[$i], "True") Or StringInStr($outputArray[$i], "False") Then
    $outputTemplate &= $outputArray[$i]
    EndIf
    Next
    $outputTemplate &= @CRLF & '#ce'
    ClipPut($exportInclude & @CRLF & '$string = ' & $sourceTemplate & @CRLF & @CRLF & $patternTemplate & @CRLF & $exportEcho & @CRLF & @CRLF & $outputTemplate)
    EndFunc ;==>_export

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeLibrary()
    GUISetState(@SW_HIDE, $guiLibrary)
    EndFunc ;==>_closeLibrary

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeChange()
    GUIDelete($guiChangePattern)
    EndFunc ;==>_closeChange

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeNew()
    GUIDelete($guiNewPattern)
    EndFunc ;==>_closeNew

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeWeb()
    GUIDelete($guiLoadWebpage)
    EndFunc ;==>_closeWeb

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]
    &quot;SciTE -&gt; Options -&gt; Open User Options File&quot;
    Code
    # 42 Regexp Tester
    command.42.*="$(autoit3dir)\autoit3.exe" "$(SciteDefaultHome)\RegexpTester\regexp.au3" "$(CurrentSelection)"
    command.name.42.*=Regexp Tester
    command.shortcut.42.*=Ctrl+Shift+Alt+R

    PS: Ich hatte zum Testen von AutoIt-Regexp mal ein standelone Tool (nicht RegexBuddy). Weiss leider den Namen nichtmehr. Wenn da also jemand eine Idee hat ... :)

    Notepad++:

    • falls noch nicht vorhanden, das Plugin NppExec über Erweiterungen->Plugin Manager installieren
    • folgendes ans Ende von @UserProfileDir\AppData\Roaming\Notepad++\plugins\config\npes_saved.txt einfügen.
      Datei erstellen fall's nicht vorhanden.

      Spoiler anzeigen
      Code
      ::Regexp Tester
      "$(SYS.ProgramFiles)\AutoIt3\SciTE\RegexpTester\regexp.exe" "$(CURRENT_WORD)"


      Die regexp.au3 muss kompiliert werden. Der Pfad zur regexp.exe kann natürlich angepasst werden.
      Notepad++ neu starten.

    • über Erweiterungen->NppExec->Advanced Options in der Combobox Associated script -Regexp Tester- auswählen und mit Add/Modify hinzufügen. Notepad++ neu starten.
    • Der Eintrag ist dann unter Makro zu finden.

    Mehr zum Thema Notepad++ und AutoIt gibt's HIER

    • Offizieller Beitrag

    Das kann man immer brauchen, 1 Prog mehr für mein Scite :thumbup:

  • Nein, Regex Coach war's leider nicht.
    Wie schon oben geschrieben, das Tool war für (und ich wette auch in) Autoit geschrieben.

    -oben das Pattern Input
    -darunter ein Tabcontrol für unterschiedliche Quellen (Datei, Web und ich weiss nicht was sonst noch alles)
    -darunter rechts ein Editcontrol mit der Rückgabe und links Checkboxen zur Auswahl des Rückgabetyps

    Das Programm sah recht umfangreich aus. Ich kam leider nicht dazu es eingehender zu testen und irgendwann hatte ich's dann total verschusselt. Man ist ja auch so ein Gewohnheitstier und startet bei Bedarf immer seinen RegexBuddy oder RegexMagic.

  • Die schau ich mir auf jeden Fall alle an, danke dir.
    In der Zwischenzeit hab ich selbst nochmal etwas gesucht, sowas lässt mir keine Ruhe.
    PCRE Toolkit 3.0.0.2.6, das war's.
    Bevor ich wieder davon abkomme wurde auch gleich ausgiebiger getestet. Hat einige Bugs z.B. wild in der GUI verteilte Buttons, Probleme beim Löschen in der Bibliothek, Fehler beim resizen und ab und an stürtzt's auch mal ab aber Funktionalität und Aufbau gefallen mir sehr.

  • Hi,

    es gibt seit Ewigkeiten "StringRegExpGUI" im Verzeichnis "C:\Program Files (x86)\AutoIt3\Examples\Helpfile\StringRegExpGUI.au3" ...

    EDIT:
    Habe dein Tool ausprobiert und es ist wesentlich besser und funktioneller als "StringRegExpGUI.au3". Mein neuer Favorit.
    Vielen Dank für das Skript.


    Gruß
    Greenhorn


    Einmal editiert, zuletzt von Greenhorn (19. Oktober 2010 um 22:50)