Announcement

Collapse
No announcement yet.

If-Then-Else mit RegEx

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

  • If-Then-Else mit RegEx

    Hallo,

    ich möchte folgendes machen:

    Ich möchte dem User meiner Anwendung die Möglichkeit geben eigene Werte über RegEx zu befüllen.
    Dafür soll der User den RegEx befehl selber eingeben.

    Natürlich will ich das aber ersteinmal selber testen.
    Der Pilotuser hat aber schon eine Anforderung die ich natürlich erstmal selber versuchen möchte.

    Er hat vier Zeichenketten und möchte anhand der Zeichenkette einen bestimmten String ausgeben. If-Then-Else praktisch. Aber eben mit RegEx.

    Beispiel:
    Wenn Zeichenkette "Vogel" dann muss "Tier" im Ergebnis stehen
    Wenn Zeichenkette "Haus" dann muss "Gebäude" im Ergebnis stehen
    usw...

    Wie kann ich dieses Beispiel als RegEx Query abbilden???

    Ich hoff mir kann da jemand helfen.

    gruß

  • #2
    http://msdn.microsoft.com/en-us/libr...x.replace.aspx
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Danke erstmal.
      Aber da steht nur drin welche Methode ich dafür verwenden soll, aber nicht wie der RegEx Query auszusehen hat.

      EDIT:
      Ich dachte eher an sowas:
      http://www.regular-expressions.info/conditional.html

      Das bringt mich aber auch nicht so weiter, weil keine Beispiele zu sehen sind und ich eigentlich nur im Dunkel rumstochere!

      Comment


      • #4
        ???

        Wenn du tatsächlich das o.a. testen willst, stellst sich die Frage, warum du eine RegEx benutzen willst. Ein Stringvergleich über Vogel ist dort allemal besser

        Anonsten bleibt zu sagen, das eine RegEx grundsätzlich match. D.h. sie prüft in einem String das Vorkommen bestimmter Zeichen anhand einer Vorgabe. Ist diese zutreffend, match der Ausdruck. Als weitere Alternative gibt es eben das replace, welches einen gefundenen Ausdruck mit einem anderen Wert ersetzt.

        Insofern sehe ich da keinen direkten Platz für einen if/then/else

        Wie nun der konkrete reguläre Ausdruck aussehen soll, hängt davon ab, was geprüft werden soll. Soll "Vogel" an Anfang stehen, am Ende, überhaupt nur irgendwo vorkommen, Großschreibung/ Kleinschreibung, alleinstehend, im Verbund mit anderen Worten....

        Nach dem was du oben geschrieben hast würde ich sagen, brauchst du 2 RegEx die jeweils nach Vogel und Haus suchen und dann eine entprechende Ersetzung (replace) vornehmen


        Empfehle zum erarbeiten eines Ausdruckes http://www.fileformat.info/tool/regex.htm wo auch gleiche mehrere Eingaben abgefackelt werden können
        Christian

        Comment


        • #5
          Die if/else innerhalb einer RegEx kannte ich noch nicht....
          Christian

          Comment


          • #6
            Originally posted by Christian Marquardt View Post
            ???

            Wenn du tatsächlich das o.a. testen willst, stellst sich die Frage, warum du eine RegEx benutzen willst. Ein Stringvergleich über Vogel ist dort allemal besser

            Anonsten bleibt zu sagen, das eine RegEx grundsätzlich match. D.h. sie prüft in einem String das Vorkommen bestimmter Zeichen anhand einer Vorgabe. Ist diese zutreffend, match der Ausdruck. Als weitere Alternative gibt es eben das replace, welches einen gefundenen Ausdruck mit einem anderen Wert ersetzt.

            Insofern sehe ich da keinen direkten Platz für einen if/then/else

            Wie nun der konkrete reguläre Ausdruck aussehen soll, hängt davon ab, was geprüft werden soll. Soll "Vogel" an Anfang stehen, am Ende, überhaupt nur irgendwo vorkommen, Großschreibung/ Kleinschreibung, alleinstehend, im Verbund mit anderen Worten....

            Nach dem was du oben geschrieben hast würde ich sagen, brauchst du 2 RegEx die jeweils nach Vogel und Haus suchen und dann eine entprechende Ersetzung (replace) vornehmen


            Empfehle zum erarbeiten eines Ausdruckes http://www.fileformat.info/tool/regex.htm wo auch gleiche mehrere Eingaben abgefackelt werden können
            Danke erstmal.
            Das hat mir schon etwas geholfen.
            Ich verwende da ja RegEx weil der User auch die Möglichkeit bekommen soll ein bestimmten Treffer aus einen Suchbegriff als Wert weiter zu verwenden.
            Und da kam eben gleich die Anfragen ob er das ifthenelse Konstrukt auch dort verwenden kann.
            Ich will mir aber dafür nicht extra ein System überlegen wie ich die Anforderung abdecke. Deswegen bin ich ja nach kurzem googlen auf die Seite oben gestoßen und dacht das ich das ja dann verwenden könnte.

            Ich hab jetzt mal einen Test mit der deiner Seite da gemacht.
            Sieht man da dann auch irgendwie den Ausdruck?

            Comment


            • #7
              Unter

              Regular Expression den regulären Ausdruck eingeben Bsp.

              ^[V|v]ogel$

              Erwartet ein Vogel oder ein vogel und keinen weiteren Text

              und unter

              Test String x die Texte zum testen
              Christian

              Comment

              Working...
              X