Ich muss einen Teilstring finden, der von doppelten Anführungszeichen umgeben ist, wie zum Beispiel "test"
, "te\"st"
oder ""
, aber nicht """
weder "\". Um dies zu erreichen, ist dies der beste Weg, dies im folgenden zu tun.
Ich wurde diese Frage gestern in einem Interview gestellt und würde gerne die Antwort für zukünftige Referenzen wissen.
Diese Ausdrücke werden wie folgt ausgewertet:
Ausdruck 1 entspricht:
Dies entspricht "test" some wrong text "text"
und schlägt daher fehl
Ausdruck 2 entspricht:
Damit werden alle Zeichen innerhalb der Anführungszeichen in Sätzen gesammelt und durch Schrägstriche unterbrochen. Es schließt ausdrücklich ein Anführungszeichen aus, wenn ihm ein Schrägstrich vorangestellt wird, indem es in alle nachfolgenden Mengen eingefügt wird. Das wird funktionieren.
Ausdruck 3 stimmt überein:
Dies sammelt alle Zeichen, optional mit einem Schrägstrich vorangestellt, aber nicht gierig. Das wird funktionieren
Ausdruck 4 entspricht:
Dies entspricht "test"\x
und schlägt daher fehl
Fazit:
Von dem, was ich sagen kann, funktionieren beide Ausdrücke 2 und 3. Ich habe vielleicht etwas verpasst, aber beide werden sicherlich (oder nicht angemessen) für die gegebenen Beispiele funktionieren. Die Frage ist also: Was ist besser? Ich würde für drei wählen, weil es einfacher ist.
Sie könnten auch mit diesem einfacheren Typ durchkommen:
%Vor%Tags und Links javascript