Announcement

Collapse
No announcement yet.

Regulärer Ausdruck für Liste

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Regulärer Ausdruck für Liste

    Hallo,

    ich habe 3 Strings und suche einen regulären Ausdruck, der mit jede Kombination getrennt mit Komma und Leerzeichen unabhängig von der Reihenfolge dieser als valide matcht.

    Die Strings seien "foo", "bar" und "nope", dann sollen zum Beispiel folgende Strings valide sein:
    - "foo"
    - "bar, foo"
    - "nope, foo, bar"

    Bisher habe ich folgenden Ausdruck: "^(foo|bar|nope)[, (foo|bar|nope)]*$", allerdings erkennt dieser auch "foo,,bar" oder "barnope, foo". Vielleicht kann mir ja jemand weiter helfen.

    Peter

  • #2
    "^((nope|bar|foo)+(, )*)*$"
    Christian

    Comment


    • #3
      Hallo Christian,

      Originally posted by Christian Marquardt View Post
      "^((nope|bar|foo)+(, )*)*$"
      Der Ausdruck erkennt aber auch zum Beispiel "barnope" oder "nope, foobar", was ich gern verhindern würde.

      Peter

      Comment


      • #4
        ^((foo(, |$))|(bar(, |$))|(nope(, |$)))*$


        http://www.regexplanet.com/advanced/java/index.html
        pic1.jpg
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          ^((foo(, |$))|(bar(, |$))|(nope(, |$)))*$
          Vielen vielen Dank.

          Originally posted by Christian Marquardt View Post
          http://www.regexplanet.com/advanced/java/index.html
          Mit der Seite habe ich auch meine Versuche durchgeführt, bin aber nicht darauf gekommen, die Trennzeichen quasi als mögliche Erweiterung am Wortende zu deuten.

          Peter

          PS: Kann man die Frage als gelöst kennzeichnen? Ein [Gelöst] im Titel scheint ja nicht üblich zu sein.
          Zuletzt editiert von Peter45; 12.12.2013, 00:06. Reason: PS angehängt

          Comment


          • #6
            Nein, kann man nicht als gelöst kennzeichnen
            Christian

            Comment

            Working...
            X