Hallo liebe Leute,
ich reiße mir nun schon seit Stunden ein Bein aus, bekomme es aber nicht hin, einen Funktionsname inkl. Parameter mit RegEx so zu filtern, dass es in allen Fällen passt.
Hier das Ergebnis meiner bisherigen Versuche...
Code
#include <StringConstants.au3>
_Strip(0, 'Func _CloseInputGUI(_Test(), _Test ( ) ) ; ENABLE $g_hMainGUI; Eingegebene Daten uebernehmen, wenn kein Fehler bei der Eingabe (IP-Adresse)' & @CRLF)
_Strip(1, 'Func _SciTE_ShowFuncName()')
_Strip(2, 'Func _SciTE_ShowFuncName ( ) ')
_Strip(3, 'Func _SciTE_ShowFuncName (";");')
_Strip(4, 'Func _SciTE_ShowFuncName (";"); ')
_Strip(5, 'Func _SciTE_ShowFuncName (";") ; ')
_Strip(6, 'Func _SciTE_ShowFuncName()' & @CRLF)
_Strip(7, 'Func _SciTE_ShowFuncName(1)' & @CRLF)
_Strip(8, 'Func _SciTE_ShowFuncName() ; () blabla' & @CRLF)
_Strip(9, 'Func _SciTE_ShowFuncName(_AddComment(";" & $aComment[Random(0, 1, 1)])) ; () blabla' & @CRLF)
Func _Strip($iNum, $sData)
Local $sRxPattern = '^Func\s(.*\)(?:\s+)?(?:;)?(?:.*)?(?:\R+)?)$'
$sStrip = StringRegExpReplace($sData, $sRxPattern, '\1')
$sStrip = @extended ? $sStrip : 'RegEx-Error!'
ConsoleWrite((@extended ? "- " : "! ") & $iNum & @TAB & "StringRegExpReplace : '" & $sStrip & "'" & @CRLF)
$aRX = StringRegExp($sData, $sRxPattern, $STR_REGEXPARRAYMATCH) ; mit Parameter
$sStrip = @error ? 'RegEx-Error!' : $aRX[0]
ConsoleWrite((@error ? "! " : "> ") & $iNum & @TAB & "StringRegExp : '" & $sStrip & "'" & @CRLF)
EndFunc
Alles anzeigen
Das Ergebnis sollte aber so aussehen...