Hallo!
Hab mir gerade eine Funktion geschrieben, mittels derer ich WildCards überprüfen kann. Das ganze funktioniert auch schon so wie es soll bis auf eine Ausnahme.
Gibt es da eine Lösung?
Spoiler anzeigen
ConsoleWrite(_WildCard("Autoit.au3", "*.au3") & @CR)
ConsoleWrite(_WildCard("Autoit", "*.au3") & @CR)
ConsoleWrite(_WildCard("Autoit.au", "*.au3") & @CR)
ConsoleWrite(_WildCard("TestFile.au3", "*.au3") & @CR)
ConsoleWrite(_WildCard("AutoitScript.au3", "A*.au3") & @CR)
ConsoleWrite(_WildCard("Script.au3", "A*.au3") & @CR)
ConsoleWrite(_WildCard("Script[1].au3", "Script[?].au3") & @CR)
ConsoleWrite(_WildCard("Script[10].au3", "Script[?].au3") & @CR)
ConsoleWrite(_WildCard("Script[10].au3", "Script[*].au3") & @CR)
ConsoleWrite(@CR)
[/autoit] [autoit][/autoit] [autoit]#Region Problemzone
ConsoleWrite(_WildCard("AutoitScript[10].au3", "Script*.au3") & @CR) ; <-- soll 0 zurückgeben
ConsoleWrite(_WildCard("Autoit.au3", "???.au3") & @CR) ; <-- soll 0 zurückgeben
#EndRegion
Func _WildCard($sTest, $sWildCard)
;funkey 14.10.2009
Local $sPattern = $sWildCard
$sPattern = StringRegExpReplace($sPattern, "\*+", "*")
$sPattern = StringReplace($sPattern, ".", "\.")
$sPattern = StringReplace($sPattern, "[", "\[")
$sPattern = StringReplace($sPattern, "]", "\]")
$sPattern = StringReplace($sPattern, "+", "\+")
$sPattern = StringReplace($sPattern, "*", ".*")
$sPattern = StringReplace($sPattern, "?", ".")
;~ ConsoleWrite($sPattern & @CR)
Return StringRegExp($sTest, "(" & $sPattern & ")")
EndFunc