我正在尝试匹配前面没有Y
的每一个新行,并用空字符串替换它,但是这个表达式给了我一个错误。
$tsv = preg_replace("/(?<!Y)\n/m", "", $tsv);
但这是出于某种原因取代所有换行符。我的回顾有什么问题?
答案 0 :(得分:1)
您可能正在处理的文件具有与预期不同的行结尾。
\r
- 通常用于基于Mac的系统\n
- 通常用于基于Unix的系统\r\n
- 通常用于基于Windows的系统你可以尝试这个来处理任何行结束:
$tsv = preg_replace("/(?<!Y)(\r\n?|\n)/m", "", $tsv);