Ich hätte da mal gerne ein Problem:
Ich habe einen String welcher einen Dateipfad enthält.
Daraus möchte ich via StringRegExp den Dateinamen rausfiltern.
Soweit ja erstmal nicht das Ding - mein erster Ansatz:
[autoit]$Test = 'I:\FFFF\gsdgsgsg\hshshshsh\wewewe\bin\Release\Blabla.Backup.REG'
$Back = StringRegExp($Test, '\\[\w \.]+\.[\w ]{3}$', 3)
MsgBox(0,"", $Back[0])
Nun würde das aber natürlich noch den anführenden Backslash mit zurückgeben.
Das will ich aber nicht.
Bei einer anderen Geschichte klappte das bei mir super wenn ich das Zeichen in ein Subpattern stecke welches mit "?:" eingeleitet wird.
Also habe ich es dann so gemacht:
$Back = StringRegExp($Test, '(?:\\)[\w \.]+\.[\w ]{3}$', 3)
[/autoit]
Leider wird hier der Backslash aber immer noch mit zurückgegeben.
Klar wäre es möglich nachträglich mit StringTrimLeft den Backslash zu entfernen.
Auch ist es klar das das Pattern auch ohne den Slash funzt.
Ich würde aber gern wissen wie ich mit Regular Expressions explizit Teile nicht zurückgeben kann.
Bin für jede Idee dankbar.