因此,我正在尝试进行字符串替换,并且正在发生一些我不希望发生的事情,并想看看是否有人可以对此有所了解。
我正在尝试在替换 '| 的地方进行正则表达式替换 ' 如果它存在。我正在使用组匹配和问号来完成它,但由于某种原因,它也只替换了空格。
$str = 'x x';
$str = preg_replace('/(| )?/','',$str);
echo $str; // Echoes out 'xx' whereas it should return 'x x'
但是当我用 carret 替换空间时,我得到:
$str = 'x^x';
$str = preg_replace('/(|^)?/','',$str);
echo $str; // Echoes out 'x^x' as expected
有没有我不记得的空间有什么特别的地方?或者这应该起作用吗?
我尝试了以下方法:
$str = preg_replace('/(|\s)?/','',$str);
$str = preg_replace('/(|[ ])?/','',$str);
而且他们俩都给出了不准确的结果。想法?