Martin: Regular Expression

Hallo,

jedesmal das selbe mit diesen Expressions. Nutzt man sie
längere Zeit nicht, so vergisst man wieder die Hälfte ;-(

Vielleicht ist ja einer von Euch darin so fit, dass er
mir evtl. bei folgendem Problem ein wenig helfen kann:

Ich habe eine Textarea, die mit Lizenzen befüllt wird. Die
Lizenzen setzen sich aus folgenden Zeichen: [a-Z][0-9][-]
zusammen.
|--TEXTAREA---------------------------------------|
|                                                 |
|THCN-0242-3-MQ7QUF-7QCQ  THPG-0212-1-123757-E0P4 |
|THCN-0267-3-MQ7QUF-7QCA                          |
|                                                 |
|THPG-0122-1-123757-E0P4                          |
|     THPG-0122-1-MQ7QUF-7QCA                     |
|_________________________________________________|

Nun muss ich jede einzelne Lizenz auslesen, die untereinander
durch unterschiedlichste Art und Weise getrennt werden. zB \n
oder TAB oder eine beliebige Anzahl von Leerzeichen.

Meine RegExp dazu lautet:
([A-Z][a-z][0-9]-)*

Doch werden in meinem Fall lediglich die Zeichen extrahiert,
die eigentlich als Trennzeichen der Lizenzen gelten und von
daher auch nicht einbezogen werden sollten,

Also bräuchte ich so zu sagen die negierten RegExp des obigen.

Kann mir evtl. einer dabei helfen?

Danke im Voraus

Martin

PS: Ich bräuchte das zwar für Java, aber an sich unterscheiden
die sich ja nicht so sehr..

  1. Hallo Martin,

    THCN-0242-3-MQ7QUF-7QCQ

    Also Buchstabe oder Zahl, die 4 mal vorkommen     \w{4}
    gefolgt von einem Minus                           -
    gefolgt von Buchstabe oder Zahl, wieder 4x        \w{4}
    gefolgt von einem Minus                           -
    gefolgt von Buchstabe oder Zahl, 1x               \w{1}
    gefolgt von einem Minus                           -
    gefolgt von Buchstabe oder Zahl, 6x               \w{6}
    gefolgt von Minus                                 -
    gefolgt von Buchstabe oder Zahl, 4x               \w{4}

    macht \w{4}-\w{4}-\w{1}-\w{6}-\w{4}

    Gruß,

    Dieter

    1. 你好 Dieter,

      […]
      macht \w{4}-\w{4}-\w{1}-\w{6}-\w{4}

      Vergiss nicht, dass \w auch auf _ matcht und in seiner Zeichenmenge
      Locale-abhängig ist.

      Normalerweise ist das auch das, was man will, aber in diesem Fall (eine
      Überprüfung) wäre es vielleicht angebracht, genauer zu matchen: [a-zA-Z0-9]
      statt \w.

      再见,
       克里斯蒂安

      --
      Plakatkleberei | Es geht schon wieder los: die Vorlesungen
      Fatal! Ich kann kein Reserve-Offizier mehr sein!
      http://wwwtech.de/
  2. hi,

    jedesmal das selbe mit diesen Expressions. Nutzt man sie
    längere Zeit nicht, so vergisst man wieder die Hälfte ;-(

    Dann kann man ja mal nachlesen gehen ;-)
    Bereits einmal erworbenes Wissen bei Vergessenheit wieder aufzufrischen, sollte idR. nicht allzu problematisch sein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hi,
    vielleicht hilft dir ja diese Seite weiter
    http://www.regxlib.com
    Dort gibt es recht viele Beispiele.

    mfg
    Knusperklumpen