Sammy: regexp

Hi zusammen,

kann mir jemand diesen reg. Ausdruck hier auf "Deutsch" übersetzen?

</?[A-Za-z]+[^>]*>

1000 Dank!!!
Sammy

  1. </?[A-Za-z]+[^>]*>

    Das matcht alles von A bis Z egal ob groß oder klein geschrieben
    Die Buchstaben dürfen mehrfach vorkommen.

    Andere Inhalte dürfen keine drinnen sein ausser Buchstaben.
    Je nach Server Einstellungen sind Umlaute enthalten, oder auch nicht.

    Keine Gewähr

    1. hi,

      </?[A-Za-z]+[^>]*>

      Das matcht alles von A bis Z egal ob groß oder klein geschrieben
      Die Buchstaben dürfen mehrfach vorkommen.

      Höchstens die halbe Wahrheit.

      Andere Inhalte dürfen keine drinnen sein ausser Buchstaben.

      Zunächst mal soll der gesuchte Text mit einem < beginnen, danach darf, muss aber nicht, ein / stehen.
      Dann kommt in der Tat "was mit Buchstaben", und dann noch beliebig viele Zeichen _außer_ der spitzen Klammer >, bevor dann am Ende des Treffers eine solche noch mal explizit gefordert ist.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Zunächst mal soll der gesuchte Text mit einem < beginnen, danach darf, muss aber nicht, ein / stehen.
        Dann kommt in der Tat "was mit Buchstaben", und dann noch beliebig viele Zeichen _außer_ der spitzen Klammer >, bevor dann am Ende des Treffers eine solche noch mal explizit gefordert ist.

        aaaaaah, dankeschön!!!!
        Das passt!

        Merci,
        Sammy

        1. Hi,

          Zunächst mal soll der gesuchte Text mit einem < beginnen, danach darf, muss aber nicht, ein / stehen.
          Dann kommt in der Tat "was mit Buchstaben", und dann noch beliebig viele Zeichen _außer_ der spitzen Klammer >, bevor dann am Ende des Treffers eine solche noch mal explizit gefordert ist.

          Bei z.B.
          <span title=">">
          wird also
          <span title=">
          gefunden ...

          Das passt!

          wirklich?

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          O o ostern ...
          Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. Hello out there!

            Das passt!
            wirklich?

            Passt das?
            <[A-Za-z_:][\w.-_:]*(?:\s+[A-Za-z_:][\w.-_:]*\s*=\s*(?:"(?:[^&<"]|&[A-Za-z_:][\w.-_:]*;)*"|'(?:[^&<']|&[A-Za-z_:][\w.-_:]*;)*'))*\s*/?>|</[A-Za-z_:][\w.-_:]*>

            See ya up the road,
            Gunnar

            --
            “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
            1. Hi,

              Passt das?

              <[A-Za-z_:]

              kommt drauf an wofür - für HTML/XHTML/XML jedenfalls nicht.
              Für HTML/XHTML: nein, der Unterstrich ist auf jeden Fall zuviel.
              Für XML: nein, da ist die Einschränkung auf A-Za-z falsch (auch andere Buchstaben wie é, ä usw. sind erlaubt)

              Den Rest des Ausdrucks analysiere ich gar nicht, da für HTML/XHTML/XML bereits bewiesen ist, daß der Ausdruck nicht passen kann ;-)

              Für was anderes? Dann müßtest Du schon dazusagen, was ...

              cu,
              Andreas

              --
              Warum nennt sich Andreas hier MudGuard?
              Schreinerei Waechter
              O o ostern ...
              Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
              1. Hello out there!

                <[A-Za-z_:]
                Für XML: nein, da ist die Einschränkung auf A-Za-z falsch

                Grmpf, ich wusste es.
                Na dann doch '(?=[\w:])[^\d]' statt '[A-Za-z_:]' („hellseher-trick“).
                Und '[\w.-:]' statt '[\w.-_:]' ('_' ist ja in '\w' enthalten).

                <(?=[\w:])[^\d][\w.-:]*(?:\s+(?=[\w:])[^\d][\w.-:]*\s*=\s*(?:"(?:[^&<"]|&(?=[\w:])[^\d][\w.-:]*;)*"|'(?:[^&<']|&(?=[\w:])[^\d][\w.-:]*;)*'))*\s*/?>|</(?=[\w:])[^\d][\w.-:]*>

                Den Rest des Ausdrucks analysiere ich gar nicht, da für HTML/XHTML/XML bereits bewiesen ist, daß der Ausdruck nicht passen kann ;-)

                Na denn, jetzt aber. Oder erst, wenn dein Rausch vorüber ist? ;-)

                See ya up the road,
                Gunnar

                Durch '(?=[\w:])' hat das Ganze nichts mehr mit JavaScript zu tun. In JavaScript hätten wohl auch die '/' im Ausdruck maskiert werden müssen.

                --
                “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                1. Hi,

                  Na dann doch '(?=[\w:])[^\d]' statt '[A-Za-z_:]' („hellseher-trick“).
                  Und '[\w.-:]' statt '[\w.-_:]' ('_' ist ja in '\w' enthalten).

                  Hängt schon mal stark davon ab, wie die zu verwendende Regex-Engine das \w interpretiert.
                  Ggf. ist \w mit [a-zA-Z0-9_] ident, so daß wieder viele Buchstaben fehlen.

                  Aber selbst wenn \w die passende Buchstabenmenge wäre:

                  [\w.-:] erlaubt neben den Wort-Zeichen noch die Zeichen '.', '/', die Ziffern und den ':'.

                  '/' ist aber im Elementnamen nicht erlaubt.

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  Schreinerei Waechter
                  O o ostern ...
                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  1. Hello out there!

                    Hängt schon mal stark davon ab, wie die zu verwendende Regex-Engine das \w interpretiert.

                    Ja, war mir schon klar. Der Einfachheit halber ...

                    Aber selbst wenn \w die passende Buchstabenmenge wäre:

                    ... gehen wir mal davon aus. Du willst nicht wirklich, dass ich alle Zeichen explizit aufschreibe?

                    [\w.-:] erlaubt neben den Wort-Zeichen noch die Zeichen '.', '/', die Ziffern und den ':'.

                    Ah, verdammt. (Da musste ich erst dreimal überlegen, was du meinst.)
                    [\w.-:] sollte es tun. [\w.:-] auch.

                    <(?=[\w:])[^\d][\w.:-]*(?:\s+(?=[\w:])[^\d][\w.:-]*\s*=\s*(?:"(?:[^&<"]|&(?=[\w:])[^\d][\w.:-]*;)*"|'(?:[^&<']|&(?=[\w:])[^\d][\w.:-]*;)*'))*\s*/?>|</(?=[\w:])[^\d][\w.:-]*>

                    Gibt’s wieder einen Grund, vor dem zehnten Zeichen aufzuhören, sich den Rest anzusehen? ;-)

                    See ya up the road,
                    Gunnar

                    --
                    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                    1. Hi,

                      <(?=[\w:])[^\d][\w.:-]*(?:\s+(?=[\w:])[^\d][\w.:-]*\s*=\s*(?:"(?:[^&<"]|&(?=[\w:])[^\d][\w.:-]*;)*"|'(?:[^&<']|&(?=[\w:])[^\d][\w.:-]*;)*'))*\s*/?>|</(?=[\w:])[^\d][\w.:-]*>

                      Gibt’s wieder einen Grund, vor dem zehnten Zeichen aufzuhören, sich den Rest anzusehen? ;-)

                      Seh ich im Moment keinen. Diesmal komm ich etwas weiter.

                      Im Attributwert: (?:[^&<"]|&(?=[\w:])[^\d][\w.:-]*;)

                      &#10;
                      &#xA;

                      (?:[^&<"]+|&#(?:x[a-fA-F0-9]+|[0-9]+);|&(?=[\w:])[^\d][\w.:-]*;)

                      (ungetestet)

                      cu,
                      Andreas

                      --
                      Warum nennt sich Andreas hier MudGuard?
                      Schreinerei Waechter
                      O o ostern ...
                      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                      1. Hello out there!

                        Im Attributwert: (?:[^&<"]|&(?=[\w:])[^\d][\w.:-]*;)
                        &#10;
                        &#xA;

                        Einmal falsch abgebogen ... Bin von [10] zu [68] statt zu [67] und hab [66] ausgelassen. Wie konnte ich nur.

                        (ungetestet)

                        Das sowieso. ;-)

                        See ya up the road,
                        Gunnar

                        --
                        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
  2. Hello out there!

    </?[A-Za-z]+[^>]*>

    Man kann den Ausdruck auch noch vereinfachen: Da [A-Za-z] in [^>] enthalten ist, ist das + überflüssig:
    </?[A-Za-z][^>]*>

    Zur Prüfung auf gültige Tags in HTML oder XML 1.0 ist der Ausdruck aber zu allgemein; zur Prüfung auf gültige Tags in XML 1.1 ist er zu speziell.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)