2016-04-18 3 views

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