0

我正在尝试匹配前面没有 a 的每个新行Y并将其替换为空字符串,但是这个表达式给了我一个错误。

$tsv = preg_replace("/(?<!Y)\n/m", "", $tsv);

但这是出于某种原因替换所有换行符。我的回顾有什么问题?

4

1 回答 1

1

您可能正在处理一个行尾与您预期不同的文件。

  • \r- 通常用于基于 Mac 的系统
  • \n- 通常用于基于 Unix 的系统
  • \r\n- 通常用于基于 Windows 的系统

你可以试试这个来处理任何行尾:

$tsv = preg_replace("/(?<!Y)(\r\n?|\n)/m", "", $tsv);
于 2013-10-14T21:58:31.273 回答