Ich möchte '
durch \'
ersetzen, aber nicht \'
, da sie bereits maskiert sind.Regex für das Ableiten von einfachen Anführungszeichen, die nicht bereits maskiert sind
2
A
Antwort
2
Ganz einfach mit lookarounds:
(?<!\\)'
Siehe a demo on regex101.com.
Hier finden Sie die Schrägstriche als auch für PHP
entkommen müssen:
<?php
$string = "I want to replace ' with \' but not \' since they are already escaped";
$regex = "~(?<!\\\)'~";
echo preg_replace($regex, "\\'", $string);
# Output: I want to replace \' with \' but not \' since they are already escaped
?>
Siehe a demo on ideone.com.
+1
Seien Sie vorsichtig damit. '\\ '' wird nicht übereinstimmen, obwohl es der umgekehrte Schrägstrich ist, nicht das Zitat. – mcrumley
Verwandte Themen
- 1. Regex - Match-Zeichen, das nicht maskiert ist
- 2. REGEX: Aufteilen durch Kommas, die nicht in einfache Anführungszeichen sind, die escaped Anführungszeichen erlaubt
- 3. Java Ersetzen von Questionmarks, die nicht von Anführungszeichen umgeben sind
- 4. Escape einfache Anführungszeichen in Zeichenfolge mit einfachen und doppelten Anführungszeichen
- 5. Regex Match doppelte Anführungszeichen, die nicht Schrägstrich
- 6. Javascript RegEx: Wie der Name zwischen einfachen Anführungszeichen bekommen (einfache Anführungszeichen nicht enthalten)
- 7. Java - Wie man Regex Muster mit einfachen Anführungszeichen?
- 8. Regex zum Ersetzen eines einfachen Anführungsstrichs durch zwei einfache Anführungszeichen
- 9. Android SQLite: Einfügen von einfachen Anführungszeichen
- 10. Übereinstimmende Elemente in einer durch Kommas getrennten Liste, die nicht von einfachen oder doppelten Anführungszeichen umgeben sind
- 11. Regex passende Klammer schließt nicht in Anführungszeichen
- 12. Warum codiert encodeURIComponent keine einfachen Anführungszeichen?
- 13. Java Regex Wörter, die Zahlen sind nicht
- 14. Regex einfache Anführungszeichen entsprechen, indem doppelte Anführungszeichen
- 15. Verwenden von einfachen Anführungszeichen mit MessageFormat
- 16. Java regex Split auf Leerzeichen nicht vor oder gefolgt von einfachen oder doppelten Anführungszeichen
- 17. Eval awk Befehl mit einfachen Anführungszeichen
- 18. Ruby gsub entgeht nicht einfachen Anführungszeichen
- 19. Warum müssen Regex-Konstruktoren doppelt maskiert werden?
- 20. Regex in C# - entfernen Sie Anführungszeichen und maskiert Zitate aus einem Wert nach einem anderen Wert
- 21. Entfernen von einfachen Anführungszeichen, wenn sie nicht in der Mitte eines Wortes sind
- 22. Maskiert eine SQL-Param immer sicher, wenn mit zwei einfachen Anführungszeichen
- 23. Was ist die Regex von einfachen Wörtern und in Anführungszeichen in C#
- 24. die nicht in Anführungszeichen
- 25. echo JavaScript mit einfachen Anführungszeichen
- 26. Unterschied zwischen einfachen Anführungszeichen und Anführungszeichen in Javascript
- 27. SQL CommandText Confusion mit doppelten Anführungszeichen und einfachen Anführungszeichen
- 28. Ersetze doppelte Anführungszeichen mit einfachen Anführungszeichen in Postgres (plpgsql)
- 29. Regex mit Anführungszeichen
- 30. Ruby-Regex zum Extrahieren einer Zeichenfolge zwischen einfachen/doppelten Anführungszeichen, die ein Escape-Zeichen enthalten können
Können Sie teilen, was Sie versucht haben? –