我想做一些自定义字符转义,这意味着我希望某些字符前面没有一些特殊字符,前提是它们之前没有那个特殊字符。我想我需要一个正则表达式替换。实现这一目标的最简单方法是什么?我尝试了一些消极的后视断言,但最终一无所获。
编辑:想象一下,我希望任何abc字符都可以用 进行转义\,所以debby我应该de\b\by在da\bby我想做的时候得到d\a\b\by。我想这个例子不是那么有创意,但我相信它解释了我的意思(尚未转义的转义字符)
EDIT2:嗯,我实际上想做的是把一串
([A-Za-z]+)/([A-Za-z]+)/([A-Za-z]+)
进入
([A-Za-z]+)\/([A-Za-z]+)\/([A-Za-z]+)
在第一个字符串中,正斜杠是某种分隔符(我希望以后会有更多,我也想同时 escape ) .,,我需要\使用它来转义另一种(更简单的)模式。我试过(不确定第二个论点,但我相信这不是问题)
preg_replace("/(?<!\\)([\/])/", "\\$0", $string);
$string在哪里([A-Za-z]+)/([A-Za-z]+)/([A-Za-z]+)。没运气。
希望我现在说清楚了
解决方案:
preg_replace("/(?<!\\\\)[\/]/", "\\\\$0", $string);在方括号中,我把要转义的字符。