Michilee: Verstehe folgende line-matches nicht

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

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

    die [] sind escaped

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

    http://www.regular-expressions.info/repeat.html

    Hier matched er alles außer

    ^ ist hier satzanfang

  2. Grüße,
    falls ich mich richtig erinnere, invertiert ? den "greed" - kannst nach direkt googeln.
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth