tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
283
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Commanderalpha Commanderalpha ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    4
    Hallo,

    ich bräuchte mal Hilfe bei einem speziellen regulären Ausdruck.
    Bei mir "matched" er nur teilweise richtig.

    Ich habe den Ausdruck der Einfachheit halber aufgeteilt.

    Code :
    1
    2
    3
    4
    5
    
    '/[äöüÄÖÜ]/'           /* sucht nach Umlauten             --> Fehler */ 
    '/\s/'                      /* sucht nach Steuerzeichen      --> Fehler */ 
    '/[_]/'                     /* sucht nach Unterstrichen       --> Fehler */
     
    /^([A-Z]{1}[a-z]+((([-][A-Z]{1}[a-z]+)*)|(([-][0-9]{4})*))$)/    /* --> OK */

    Der ZielString soll eine Kette aus Zeichen sein, welche
    - mit einem Wort anfangen
    - mit einem Bindestrich (Minus) gekoppelt werden
    Wörter sollen dabei:
    - Groß anfangen
    - Mindestens aus 2 Buchstaben bestehen
    - Wörter können durch 4stellige Zahlen ersetzt werden falls es nicht das erste Wort ist.
    Beispiele:
    "Test-Eins",
    "Seite-Zwei",
    "Seite-2004",
    "Ergebnis-Januar-2004",
    "Ergebnis-2006-Gesamt",
    "Einfach"


    bei mir klappt das mit den Zahlen nicht. Ich kann nur Wörter an einander koppeln ohne Fehlermeldung.

    Falls mir jemand helfen kann...
    ich bin für Vorschläge offen.

    mfg Commanderalpha
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Probier mal folgenden regulären Ausdruck:
    Code :
    1
    
    ^[A-Z][a-z]+(?:-[A-Z][a-z]+|-[0-9]{4})*$
     
    Markus Wulftange

  3. #3
    Commanderalpha Commanderalpha ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    4
    So gehts leider nicht.

    Sowas "A-Bbbb" oder "1111-Test" sollte nicht möglich sein.

    ist es bei der vorgeschlagenen aber leider.

    Als Testumgebung hab ich folgendes kurzes PHP-Script geschrieben.

    PHP-Code:
    <?php

        error_reporting
    (E_ALL);
        
    /* Hier der reguläre Ausdruck */
        
    $regex '/[A-Z][a-z]+(?:-[A-Z][a-z]+|-[0-9]{4})*$/';
        
    /* Ende regulärer Ausdruck */    
        
        
    if(isset($_POST['eingabe'])) {
            echo 
    "Eingabe:<br />\n";
            echo 
    "<pre>\n";
            echo 
    $_POST['eingabe'];
            echo 
    "</pre>\n";
            if(
    preg_match($regex$_POST['eingabe'])) {
                echo 
    "<span style=\"color: #008000\">ID OK</span><br />\n";
            } else {
                echo 
    "<span style=\"color: #FF0000\">ID nicht OK</span><br />\n";
            }
        }
        echo 
    "Regex:<br />\n";
        echo 
    "<pre>\n";
        echo 
    $regex;
        echo 
    "</pre>\n";
        echo 
    "<form action=\"Untitled-1.php\" method=\"POST\">\n";
        echo 
    "    <input type=\"text\" value=\"".$_POST['eingabe']."\" name=\"eingabe\" />\n";
        echo 
    "    <input type=\"submit\" name=\"testen\" />\n";
        echo 
    "</form>\n";

    ?>
    Wer sonst noch vorschläge hat, bitte melden.
     

  4. #4
    Commanderalpha Commanderalpha ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    4
    HEUREKA!

    ich habs! und die Lösung war so einfach...

    Code :
    1
    
    /^([A-Z]{1}[a-z]+(([-][A-Z]{1}[a-z]+)|([-][0-9]{4}))*$)/

    der Unterschied is aber gering logisch

    Danke
    Commanderalpha
     

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Du hast ganz einfach vergessen das Zeichen für den Zeichenkettenanfang (^) aus meinem Vorschlag zu kopieren.
     
    Markus Wulftange

  6. #6
    Commanderalpha Commanderalpha ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    4
    ohh.. stimmt!!

    Asche über mein Haupt!!
     

Ähnliche Themen

  1. Hilfe bei regulärem Ausdruck
    Von exiter28 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 28.09.10, 09:15
  2. Hilfe zu regulärem Ausdruck
    Von d_b im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 2
    Letzter Beitrag: 09.05.09, 10:34
  3. Brauch Hilfe bei Regulärem Ausdruck
    Von Soapp im Forum PHP
    Antworten: 2
    Letzter Beitrag: 29.08.06, 14:10
  4. Hilfe bei Regulärem Ausdruck
    Von schoko im Forum PHP
    Antworten: 2
    Letzter Beitrag: 02.08.06, 14:50
  5. Brauche Hilfe bei regulärem Ausdruck
    Von EvilO im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.11.05, 16:19