Guten Abend,
ich versuche hier mit VB.net aus mehreren große Textdateien rauszufiltern, was ich benötige.
In den Dateien befinden sich alle möglichen Buchstaben, Zahlen, Sonderzeichen...
für mich relevant ist alles, was mit 02 A1 beginnt, und mit 03 endet. Allerdings nur, wenn 14 Zeichen ohne Leerzeichen, und 22 Zeichen mit Leerzeichen zwischen "02 A1" und "03" sind. -> Das filtert unvollständige Einträge heraus.
Die Textdateien sehen wie folgt aus (Beispiel-Ausschnitt):
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
Aus diesem Auszug würde ich nun also
1 |
|
erhalten wollen.
Mein RegEx Code sieht so aus:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
Nun das Problem:
Aus mir unerklärlichem Grund wird in der gefiltert.Textbox auch
1 |
|
angezeigt! In dachte, dass in meinem RegEx Pattern ganz klar steht, alles zwischen 02 A1 und 03 NUR matchenm wenn mindestens 18 Zeichen ("(.{18,22}?)") - warum also wird 02 A1 03 gemachted?
So, wenn ich nun
1 |
|
zu NUR Multiline ändere, hab ich das Problem nicht mehr! Dann funktioniert es, wie es soll.
Dann allerdings (ohne SingeLine) wird bei folgendem Text nicht gematched:
1 |
|
2 |
|
Warum? Keine Ahnung...
Kann mir hier jemand auf die Sprünge helfen und auch erklären was ich falsch mache?
Danke schon im Voraus