我在将一些正则表达式从用于 preg_match_all 转换为用于 preg_replace 时遇到了一些困难。
基本上,仅通过正则表达式,我想匹配前面有空格、文本开头或连字符的大写字符。这不是问题,我有以下效果很好:
preg_match_all('/(?<= |\A|-)[A-Z]/',$str,$results);
echo '<pre>' . print_r($results,true) . '</pre>';
现在,我想做的是使用 preg_replace 只返回与我上面的条件匹配的大写字符的字符串。如果我将正则表达式直接移植到 preg_replace,那么它显然会替换我想要保留的字符。
任何帮助将非常感激 :)
另外,我完全知道正则表达式在效率方面并不是最好的解决方案,但我还是想使用 preg_replace。