Ich sitze hier mit "The Good Parts" in der Hand, aber ich bin immer noch nicht klüger.
Kann jemand eine Regex für mich einwerfen, die es mir erlaubt, irgendwelche Fälle von "|" und "," aus einer Zeichenfolge.
Könnte mich jemand auch auf eine wirklich gute Quelle zum Erlernen von regulären Ausdrücken hinweisen, besonders in Javascript (sind sie ein besonderer Geschmack?). Es ist wirklich ein Schwachpunkt in meinem Wissen.
Prost.
str.replace(/(\||,)/g, "replaceWith")
Vergessen Sie nicht g
am Ende, so dass die Zeichenfolge global gesucht wird. Wenn Sie es nicht angeben, ersetzt die Regex nur die erste Instanz der Zeichen.
Was gesagt wird ist, dass |
ersetzt wird (Sie müssen dieses Zeichen verlassen) ODER ( |
) ,
Die beste Ressource, die ich gefunden habe, wenn Sie reguläre Ausdrücke (und die besonderen Vorbehalte oder Macken von einer Mehrheit der Implementierungen / Aromen) wirklich verstehen möchten, ist Regular-Expressions.info .
Wenn Sie wirklich in reguläre Ausdrücke kommen, würde ich das Produkt mit dem Namen RegexBuddy zum Testen und Debuggen regulärer Ausdrücke in allen möglichen Sprachen empfehlen (obwohl es ein paar Dinge gibt, die nicht wirklich unterstützen) ist insgesamt ziemlich gut)
Bearbeiten:
Der beste Weg (ich denke vor allem, wenn Sie die Lesbarkeit in Betracht ziehen) ist die Verwendung einer Zeichenklasse statt einer Alternation (z. B. []
anstelle von |
)
verwenden:
%Vor% Dies ersetzt entweder ein |
oder ein ,
durch ein Semikolon
Die Zeichenklasse bedeutet im Wesentlichen "Passe alles innerhalb dieser eckigen Klammern an" - mit wenigen Ausnahmen.
[a-zA-Z]
bedeutet einen beliebigen Buchstaben von a
bis z
oder von A
bis Z
). ^
) am Anfang der Zeichenklasse gesetzt wird negiert es - es bedeutet alles nicht in dieser Zeichenklasse ( [^0-9]
bedeutet ein beliebiges Zeichen, das nicht von 0
bis 9
). \
, wenn du Tags und Links javascript regex