Paul: regexp

Moin.

Komme einfach nicht auf die richtige Syntax. Ich habe einen String in JS (z.B.: "Hallo <SPAN style="color:red">Du</SPAN> da"), aus dem ich nun alle HTML-Tag entfernen möchte. Habe mit folgendem angefangen:

text = text.replace(/[<>]/g, "");

Das entfernt mir aber nur die Klammer. Ich muss jetzt alles innerhalb auch noch löschen. Nur wie?

Paul

  1. Hallo,

    Komme einfach nicht auf die richtige Syntax. Ich habe einen String in JS (z.B.: "Hallo <SPAN style="color:red">Du</SPAN> da"), aus dem ich nun alle HTML-Tag entfernen möchte. Habe mit folgendem angefangen:

    text = text.replace(/[<>]/g, "");

    Das entfernt mir aber nur die Klammer. Ich muss jetzt alles innerhalb auch noch löschen. Nur wie?

    am besten mit einfachen Zeichenkettenoperationen, denn derzeit hast Du zwei Probleme.

    Freundliche Grüße

    Vinzenz

    1. Würde gerne ohne regexp arbeiten. Aber wie?

      Paul

      1. Würde gerne ohne regexp arbeiten. Aber wie?

        Paul

        Ein üblicher Ansatz wäre zB
        <[^>]+>
        Ein Kleiner-als-Zeichen gefolgt von 1 oder mehr ^NICHT Größer-als-Zeichen gefolgt von einem Größer-als-Zeichen. Damit werden die Tags entfernt, nicht aber der Inhalt. <weg>bleibt</weg>

        Viel Erfolg!

        1. Ein üblicher Ansatz wäre zB
          <[^>]+>
          Ein Kleiner-als-Zeichen gefolgt von 1 oder mehr ^NICHT Größer-als-Zeichen gefolgt von einem Größer-als-Zeichen. Damit werden die Tags entfernt, nicht aber der Inhalt. <weg>bleibt</weg>

          Was dann zur Folge hat, dass ziemlich viel Mist stehen bleibt, der ggf. garnicht rein soll - z.B. Inhalte von script-Elementen.

    2. @@Vinzenz Mai:

      nuqneH

      am besten mit einfachen Zeichenkettenoperationen, denn derzeit hast Du zwei Probleme.

      Nö, würde ich nicht sagen. Reguläre Ausdrücke sind dafür prädestiniert, Muster zu erkennen wie '<' gefolgt von Zeichen gefolgt von '>'.

      Hier mit Stringoperationen ranzugehen, das erste Vorkommen von '<' zu suchen, dann das danach nächste Vorkommen von '>', dann das nächste Vorkommen von '<' … Dir viel Spaß dabei, allen anderen sei gesagt: Tu’s nicht!

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
  2. @@Paul:

    nuqneH

    text = text.replace(/[<>]/g, "");

    Das entfernt mir aber nur die Klammer.

    Genau das hast du ja gesagt: Ersetze jedes der Zeichen '<' und '>' duch ''.

    Ich muss jetzt alles innerhalb auch noch löschen. Nur wie?

    In dem du sagst: Ersetze die http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichenketten@title=Zeichenkette '<' gefolgt von beliebig vielen Zeichen gefolgt von '>' (http://de.selfhtml.org/perl/sprache/regexpr.htm#gierig_genuegsam@title=non-greedy!).
    Oder: Ersetze '<' gefolgt von beliebig vielen Zeichen http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen@title=außer '>' gefolgt von '>' (kann dann greedy sein).

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hi,

      Oder: Ersetze '<' gefolgt von beliebig vielen Zeichen http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen@title=außer '>' gefolgt von '>' (kann dann greedy sein).

      Aber:

      <img src='PfeilNachRechts.png' alt='--->'>

      ;-)

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
      1. @@MudGuard:

        nuqneH

        Aber:
        <img src='PfeilNachRechts.png' alt='--->'>

        Ähm ja, ich hatte noch dran gedacht zu erwähnen, dass die Sache deutlich komplizierter wird, wenn '>' im Attributwert oder Elementinhalt (wie suit bemerkte) auftritt. Und es dann doch vergessen.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Moin Moin!

          Aber:
          <img src='PfeilNachRechts.png' alt='--->'>

          Ähm ja, ich hatte noch dran gedacht zu erwähnen, dass die Sache deutlich komplizierter wird, wenn '>' im Attributwert oder Elementinhalt (wie suit bemerkte) auftritt.

          Und genau deswegen nimmt man sich einen Standard-konformen Parser statt mit RegExps herumzupfuschen. Denn gerade diese Gemeinheiten kann ein Parser verdauen, selbstgestrickte RegExps aber nur sehr selten bis gar nicht.

          Alexander

          --
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        2. @@Gunnar Bittersmann:

          nuqneH

          Ähm ja, ich hatte noch dran gedacht zu erwähnen, dass die Sache deutlich komplizierter wird, wenn '>' im Attributwert oder Elementinhalt (wie suit bemerkte) auftritt. Und es dann doch vergessen.

          Mit regulärem Ausdruck geht es nicht, aber replace(/<(.*?)(?:\s+(?:.+?="[^"]*"|.+?='[^']*'))*\s*>(.*?)<\/\1>/g, '$2') sollte mit allem klarkommen, oder?

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. @@Gunnar Bittersmann:

            nuqneH

            replace(/<(.*?)(?:\s+(?:.+?="[^"]*"|.+?='[^']*'))*\s*>(.*?)<\/\1>/g, '$2') sollte mit allem klarkommen, oder?

            Nein, nicht mit Attributen ohne Wert.

            replace(/<(.*?)(?:\s+.+?(?:="[^"]*"|='[^']*')?)*\s*>(.*?)<\/\1>/g, '$2')

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
            1. Nein, nicht mit Attributen ohne Wert.

              replace(/<(.*?)(?:\s+.+?(?:="[^"]*"|='[^']*')?)*\s*>(.*?)<\/\1>/g, '$2')

              Qapla'

              Das sieht doch sehr schön aus auf den ersten Blick :-)

            2. @@Gunnar Bittersmann:

              nuqneH

              replace(/<(.*?)(?:\s+.+?(?:="[^"]*"|='[^']*')?)*\s*>(.*?)<\/\1>/g, '$2')

              Da fehlt immer noch Whitespace – und das gleich an mehreren Stellen:
              replace(/<(.*?)(?:\s+.+?(?:=\s*"[^"]*"|=\s*'[^']*')?)*\s*>(.*?)<\/\1\s*>/g, '$2')

              Qapla'

              --
              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
              (Mark Twain)
              1. @@Gunnar Bittersmann:

                nuqneH

                replace(/<(.*?)(?:\s+.+?(?:="[^"]*"|='[^']*')?)*\s*>(.*?)<\/\1>/g, '$2')

                Da fehlt immer noch Whitespace – und das gleich an mehreren Stellen:
                replace(/<(.*?)(?:\s+.+?(?:=\s*"[^"]*"|=\s*'[^']*')?)*\s*>(.*?)<\/\1\s*>/g, '$2')

                Qapla'

                Hi Gunnar,

                Da fehlt immer noch Whitespace

                ja, ist mir auch aufgefallen.

                Glaube viel schöner/besser, kann man es nicht umsetzen mit einem - noch überschaubaren - regulären Ausdruck.

                Robert

                1. @@Jonny 5:

                  nuqneH

                  replace(/<(.*?)(?:\s+.+?(?:=\s*"[^"]*"|=\s*'[^']*')?)*\s*>(.*?)<\/\1\s*>/g, '$2')

                  Glaube viel schöner/besser, kann man es nicht umsetzen mit einem - noch überschaubaren - regulären Ausdruck.

                  Das ist kein regulärer Ausdruck.

                  Qapla'

                  --
                  Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                  (Mark Twain)
                  1. Das ist kein regulärer Ausdruck.

                    Qapla'

                    Aha, Wikipedia definiert also, was ein regulärer Ausdruck ist.

                    Wortklauberei in Wikipedia nachschlagen.

                    1. @@Jonny 5:

                      nuqneH

                      Aha, Wikipedia definiert also, was ein regulärer Ausdruck ist.

                      Nein, Wikipedia gibt das wieder, was Informatik-Lehrbücher auch sagen.

                      Und es ist sinnfrei, etwas als „regulär“ zu bezeichnen, was nicht regulär ist.

                      Wortklauberei in Wikipedia nachschlagen.

                      Chomsky-Hierarchie in Wikipedia nachschlagen.

                      Qapla'

                      --
                      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                      (Mark Twain)
                      1. @@Jonny 5:

                        nuqneH

                        Aha, Wikipedia definiert also, was ein regulärer Ausdruck ist.

                        Nein, Wikipedia gibt das wieder, was Informatik-Lehrbücher auch sagen.

                        Und es ist sinnfrei, etwas als „regulär“ zu bezeichnen, was nicht regulär ist.

                        Wortklauberei in Wikipedia nachschlagen.

                        Chomsky-Hierarchie in Wikipedia nachschlagen.

                        Solche Suchmuster bezeichnet man als reguläre Ausdrücke. Auch wenn sie die ursprüngliche Definition erweitern, ist es nicht falsch, sie so zu bezeichnen.

                        Patterns for non-regular languages

                        Sonst könnte man ja die einschlägige Fachliteratur teils in den Ofen schmeissen.

                      2. @@Jonny 5:

                        nuqneH

                        Aha, Wikipedia definiert also, was ein regulärer Ausdruck ist.

                        Nein, Wikipedia gibt das wieder, was Informatik-Lehrbücher auch sagen.

                        Und es ist sinnfrei, etwas als „regulär“ zu bezeichnen, was nicht regulär ist.

                        Wortklauberei in Wikipedia nachschlagen.

                        Chomsky-Hierarchie in Wikipedia nachschlagen.

                        Solche Suchmuster bezeichnet man als reguläre Ausdrücke. Auch wenn sie die ursprüngliche Definition erweitern, ist es nicht falsch, sie so zu bezeichnen.

                        Patterns for non-regular languages

                        Sonst könnte man ja die einschlägige Fachliteratur teils in den Ofen schmeissen.

                        1. @@Jonny 5:

                          nuqneH

                          Solche Suchmuster bezeichnet man als reguläre Ausdrücke.

                          „Man“ meint alle, die nicht wissen, was reguläre Ausdrücke wirklich sind.

                          Auch wenn sie die ursprüngliche Definition erweitern, ist es nicht falsch, sie so zu bezeichnen.

                          Die Falschheit liegt im Auge des Betrachters.

                          Patterns for non-regular languages

                          “The language of squares is not regular, nor is it context-free. Pattern matching with an unbounded number of back references, as supported by numerous modern tools, is NP-complete […]” Sag ich doch.

                          Die falsche Verwendung des Begriffs “has led to a nomenclature where the term regular expression has different meanings in formal language theory and pattern matching.” Ich halte verschiedene Bedeutungen eines B
                          Fachbegriffs innerhalb desselben Fachgebiets für nicht sinnvoll.

                          Sonst könnte man ja die einschlägige Fachliteratur teils in den Ofen schmeissen.

                          Janeeisklar, so wie auch die einschlägige Fachliteratur, die HTML-Elemente als „Tags“ bezeichnet.

                          Qapla'

                          --
                          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                          (Mark Twain)
                          1. Lieber Gunnar,

                            Patterns for non-regular languages

                            “The language of squares is not regular, nor is it context-free. Pattern matching with an unbounded number of back references, as supported by numerous modern tools, is NP-complete […]” Sag ich doch.

                            Ja, du hast ja auch vollkommen recht, mit dem was du meinst, nur meinst du das falsche. Womit sich dieser Absatz ja auch beschäftigt.

                            Ich halte es für bedenklich, mit welcher Hartnäckigkeit du deine fragwürdige Haltung zu richtig/falsch verteidigst. Was du als falsch bezeichnest ist nicht falsch, sondern, wie du selbst schreibst...

                            Die Falschheit liegt im Auge des Betrachters.

                            Ergo, könnte ich sagen: Was du schreibst ist falsch.

                            Regular language in Wikipedia nachschlagen:

                            Note that the "regular expression" features provided with many programming languages are augmented with features that make them capable of recognizing languages that can not be expressed by the formal regular expressions

                            1. @@Jonny 5:

                              nuqneH

                              Ja, du hast ja auch vollkommen recht, mit dem was du meinst, nur meinst du das falsche.

                              Die Falschheit liegt im Auge des Betrachters.

                              Ich halte es für bedenklich, mit welcher Hartnäckigkeit du deine fragwürdige Haltung zu richtig/falsch verteidigst.

                              Ich halte es für bedenklich, Fachbegriffe zu verwässern und ihnen eine fragwürdige Bedeutung zu geben.

                              Note that the "regular expression" features provided with many programming languages are augmented with features that make them capable of recognizing languages that can not be expressed by the formal regular expressions

                              Warum sollte man „regulärer Ausdruck“ in Anführungszeichen setzen*, um Suchmuster von formalen regulären Ausdrücken zu unterscheiden? Ich halte es für sinnvoller, Suchmuster als das zu bezeichnen, was sie sind: Suchmuster.

                              Qapla'

                              * Das wäre genauso bescheuert wie „DDR“ in der Springer-Presse.

                              --
                              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                              (Mark Twain)
                              1. Warum sollte man „regulärer Ausdruck“ in Anführungszeichen setzen*, um Suchmuster von formalen regulären Ausdrücken zu unterscheiden? Ich halte es für sinnvoller, Suchmuster als das zu bezeichnen, was sie sind: Suchmuster.

                                "regular expression" features provided with many programming languages...

                                Weil die Diskussion ursprünglich in diesem Kontext startete. Nicht zu durch Typ-3-Grammatiken der Chomsky Hierarchie erzeugten regulären Sprachen.

                                computer science - Regular Expressions question

                                The problem is that "regular expression" has to be decoded by context.

                                Die Anführungszeichen, da dieser Begriff entsprechend dem Kontext in dem er verwendet wird interpretiert werden kann.

                                1. @@Jonny 5:

                                  nuqneH

                                  Die Anführungszeichen, da dieser Begriff entsprechend dem Kontext in dem er verwendet wird interpretiert werden kann.

                                  Ja, Sprache ist oft nicht eindeutig. „Maus“ und „Bug“ bezeichnen im Kontext Computerei völlig andere Dinge als im Kontext Tierwelt.

                                  Aber Fachsprache sollte in einem Gebiet sollte schon eindeutig sein. So weit liegen (theoretische) Informatik und Programmierung nicht auseinander, als dass verschiedene Bedeutungen desselben Fachbegriffs „regulärer Ausdruck“ sinnvoll wären.

                                  Natürlich hat das Sprachproblem historische Ursachen: Hätten Suchmuster in Programmiersprachen von Anfang an die Mächtigkeit gehabt, die über reguläre Ausdrücke hinausgeht, wären Suchmuster gar nicht erst als „reguläre Ausdrücke“ bezeichnet worden. IMHO sollte man es heute auch nicht tun; es gibt den passenden Begriff „Suchmuster“ (engl. „search pattern“). Er ist nicht nur treffender, sondern auch kürzer – seiner Verwendung steht nicht entgegen.

                                  Qapla'

                                  --
                                  Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                                  (Mark Twain)
                                  1. Natürlich hat das Sprachproblem historische Ursachen: Hätten Suchmuster in Programmiersprachen von Anfang an die Mächtigkeit gehabt, die über reguläre Ausdrücke hinausgeht, wären Suchmuster gar nicht erst als „reguläre Ausdrücke“ bezeichnet worden. IMHO sollte man es heute auch nicht tun; es gibt den passenden Begriff „Suchmuster“ (engl. „search pattern“). Er ist nicht nur treffender, sondern auch kürzer – seiner Verwendung steht nicht entgegen.

                                    *gähn*

                                    Um wieder zum Thema zu kommen und doch noch ein für dich erträgliches Lob loswerden zu können: Du hast ein schönes Suchmuster geschrieben.

                                    Den Standpunkt, den du vertrittst kann man respektieren. Das ist eine subjektive Sicht, mit der man andere aber nicht zu vergewaltigen braucht.

                                    Qui tacet, consentire videtur

                                    1. @@Jonny 5:

                                      nuqneH

                                      Um wieder zum Thema zu kommen und doch noch ein für dich erträgliches Lob loswerden zu können: Du hast ein schönes Suchmuster geschrieben.

                                      Das klingt wie Musik in meinen Ohren – und das in mehrfacher Hinsicht. ;-)

                                      Qui tacet, consentire videtur

                                      Jetzt bist du mit deinem Ende am Latein.

                                      Qapla'

                                      --
                                      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                                      (Mark Twain)
                                      1. Um wieder zum Thema zu kommen und doch noch ein für dich erträgliches Lob loswerden zu können: Du hast ein schönes Suchmuster geschrieben.

                                        Das klingt wie Musik in meinen Ohren – und das in mehrfacher Hinsicht. ;-)

                                        Ich wage zu bezweifeln, dass die Melodie in der Musik erfasst wurde.

                                        Borniertheit im Duden nachschlagen.

                                        Qui tacet, consentire videtur

                                        Jetzt bist du mit deinem Ende am Latein.

                                        Nicht ganz.

                                        Si tacuisses, philosophus mansisses.

                                        Aber jetzt :-)

                                        Schönes Wochenende!

                    2. @@Jonny 5:

                      nuqneH

                      Wortklauberei in Wikipedia nachschlagen.

                      Ich hab auch noch einen für dich: Totschlagargument in Wikipedia nachschlagen.

                      „Das sagt man so“ ist so ziemlich das einzige, was du meinem Argument, warum man das nicht so sagen sollte, entgegenzusetzen hast.

                      Auch nur eine „eine subjektive Sicht“, selbstverständlich.

                      Qapla'

                      --
                      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                      (Mark Twain)
              2. Hallo Gunnar,

                Da fehlt immer noch Whitespace – und das gleich an mehreren Stellen:
                replace(/<(.*?)(?:\s+.+?(?:=\s*"[^"]*"|=\s*'[^']*')?)*\s*>(.*?)<\/\1\s*>/g, '$2')

                die Welt wäre eine @~!$%&-Welt ohne Sprachen, die eine solche Syntax erwarten. :)

                Gruß, Jürgen

                1. @@JürgenB:

                  nuqneH

                  replace(/<(.*?)(?:\s+.+?(?:=\s*"[^"]*"|=\s*'[^']*')?)*\s*>(.*?)<\/\1\s*>/g, '$2')

                  die Welt wäre eine @~!$%&-Welt ohne Sprachen, die eine solche Syntax erwarten. :)

                  1987 ;-)

                  Qapla'

                  --
                  Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                  (Mark Twain)
    2. @@Gunnar Bittersmann:

      nuqneH

      '<' gefolgt von beliebig vielen Zeichen gefolgt von '>' (http://de.selfhtml.org/perl/sprache/regexpr.htm#gierig_genuegsam@title=non-greedy!).
      Oder: Ersetze '<' gefolgt von beliebig vielen Zeichen http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen@title=außer '>' gefolgt von '>' (kann dann greedy sein).

      Welches von beidem ist eigentlich performanter?

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
  3. Vielen Dank Euch allen.

    Habe es jetzt mit folgendem gelöst:

    http://javascript.jstruebig.de/javascript/35

    1. Vielen Dank Euch allen.

      Habe es jetzt mit folgendem gelöst:

      http://javascript.jstruebig.de/javascript/35

      von der Seite:

      // now remove the tags
      return tmp.replace(/</?[^>]+>/gi, '');

      Wobei man sich frägt, wozu der Slash-Teil /?

      1. Hi,

        // now remove the tags
        return tmp.replace(/</?[^>]+>/gi, '');

        Wobei man sich frägt, wozu der Slash-Teil /?

        Um schliessende Tags auch zu erwischen?

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. @@ChrisB:

          nuqneH

          return tmp.replace(/</?[^>]+>/gi, '');

          Wobei man sich frägt, wozu der Slash-Teil /?

          Um schliessende Tags auch zu erwischen?

          '/' ist aber mit [^>]+ abgedeckt. Wozu also der Slash-Teil?

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. Hi,

            '/' ist aber mit [^>]+ abgedeckt.

            Stimmt auch wieder.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
          2. [latex]Mae  govannen![/latex]

            return tmp.replace(/</?[^>]+>/gi, '');

            Wobei man sich frägt, wozu der Slash-Teil /?

            Um schliessende Tags auch zu erwischen?

            '/' ist aber mit [^>]+ abgedeckt. Wozu also der Slash-Teil?

            Damit die Javascript-Engine nicht aufgrund der Zeichenkombination </script> für das Ende des Scriptbereiches hält, falls ein solcher in der Zeichenkette enthalten ist...

            Stur lächeln und winken, Männer!
            Kai

            --
            It all began when I went on a tour, hoping to find some furniture
             Followed a sign saying "Beautiful Chest", led to a lady who showed me her best)
            SelfHTML-Forum-Stylesheet
            1. [latex]Mae  govannen![/latex]

              Damit die Javascript-Engine nicht aufgrund der Zeichenkombination </script> für das Ende des Scriptbereiches hält, falls ein solcher in der Zeichenkette enthalten ist...

              Merke: Wenn man einen Satz nur oft genug umbaut, kommt in jedem Fall Unsinn dabei heraus.

              Stur lächeln und winken, Männer!
              Kai

              --
              It all began when I went on a tour, hoping to find some furniture
               Followed a sign saying "Beautiful Chest", led to a lady who showed me her best)
              SelfHTML-Forum-Stylesheet
      2. Vielen Dank Euch allen.

        Habe es jetzt mit folgendem gelöst:

        http://javascript.jstruebig.de/javascript/35

        von der Seite:

        // now remove the tags
        return tmp.replace(/</?[^>]+>/gi, '');

        Wobei man sich frägt, wozu der Slash-Teil /?

        Und man sich frägt, wozu der i Modifier, aber besser mal eins zuviel als zuwänisch, wird man wohl gedacht haben, oder man möchte große und kleine Größer-als-Zeichen sobald diese implementiert werden ansprechen.

      3. return tmp.replace(/</?[^>]+>/gi, '');

        Wobei man sich frägt, wozu der Slash-Teil /?

        Weil / den RegExp-Literal öffnet und schließt.

        /…/…/ ergibt einen Syntaxfehler.

        Mathias

        1. @@molily:

          nuqneH

          Wobei man sich frägt, wozu der Slash-Teil /?

          Weil / den RegExp-Literal öffnet und schließt.

          Ähm, es ging um '/', nicht um '', denke ich.

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)