Michilee: Verstehe folgende line-matches nicht

Beitrag lesen

Hallo Forum,

ich habe mit den beiden matches irgendwie Probleme, weil mich das .+? durcheinanderbringt.

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

Was ich bisher erfahren habe ist, dass . + usw. innerhalb von [] auch Patterns sind, dennoch macht mir das .+? kein Sinnd.

. Irgendein Zeichen, außer Umbruch

  • Das irgendeine Zeichen außer Umbruch muss mindestens einmal Vorkommen, kann aber auch Mehrfach vorkommen.

? wiederum bedeutet, dass das voranstehende Zeichen einmal vorkommen kann oder nicht. Null oder einmal

Ist das ? im Verbund auf (.+) anzuwenden?

else if (line.matches("^([0-9]+)=(.+)"))

Hier matched er alles außer Zahlen von 0-9 welches mind. einmal jedoch mehrfach vorkommen kann, plus zusätzlich dann ein = gefolgt mit irgendeinem Zeichen, welches mindestens wieder einmal jedoch mehrfach vorkommen kann.

Grüße