Michilee: Verständnis für ein Code

Beitrag lesen

Hi Cheatah,
vielen Dank.

die line-matches habe ich noch nicht ganz verstanden

das ist das simple Parsing des Codes. Es wird versucht, auf diese Weise den Inhalt zu erkennen.

Pasing, also mit Regulärem Ausdruck den Inhalt gematched, bzw. geschaut/geparsed. Oki Doki.

und generell für was dieser Code gut sein könnte

Es wird das uralte Ini-Format geparst und in eine besser analysierbare Objektstruktur gebracht. Leider ist das System reduziert auf die simpelste variante; es gibt beispielsweise keine Kommentare, und die einzelnen Werte können auch nicht in Quotes stehen.

Oki, ich schaue mir das heute abend noch viel genauer an und versuche das zu verstehen. passt zwar besser in den anderen Thread, aber dieses Ausdruck sieht etwas komisch aus?

if (line.matches("\[(.+?)\]")) {

\ ist vorne vor der Zeichenkette und hinten in der Zeichenkette maskiert im String.
Dann [] also Zeichen, dann wird das erste . nicht als Quantor genommen, sondern schon wärtlich als Punkt. (Gehe ich mal davon aus)

.+?

Dann das plus. (Der voranstehende Ausdruck muss mindestens einmal vorkommen, darf aber auch mehrfach vorkommen.) aber dahinter gleich ein Fragezeichen (Der voranstehende Ausdruck ist optional, er kann einmal vorkommen, muss es aber nicht, d. h. der Ausdruck kommt null- oder einmal vor)

Nicht komisch?

Mit Klammern wurde es halt noch gepsichert in $1. $0 war ja der gesamte Ausdruck.

Grüße