我需要替换字符串中最后出现的至少双新行(\n\n),所以它应该是\n\n或\n\n\n或\n\n\n\n等等(至少 2 \n)由“ @@ ”。我认为它应该是preg_replace。我在stackoverflow的答案中尝试了许多选项,但是所有这些选项都有一些没有被捕获的情况。我尝试了 regex101 站点来准备正则表达式,但我在这方面并不强,所以我找到了一些看起来像在站点(/((\\n){2,})+(?!.*((\\n){2,})+)/i
)上工作的解决方案,但是当我在我的代码中尝试它时,我不起作用。
另一个是([\\n\\n])+(.[^\\n\\n])*$
,但这个也是最后一个
测试字符串是:
存储\nTransformer Book T101HA 中强大的四核 Intel X5 处理器意味着您可以轻松完成所有日常任务,\n无缝多任务处理让您在更短的时间内完成更多工作。存储也很方便灵活。内部有 128GB 的超高速闪存,可通过 micro SD 卡插槽轻松扩展。您还可以在 ASUS WebStorage 上获得一年免费无限云存储!\n\n颜色|白色/金色\n\n\n\n\n\nCPU|Innn dsafdsfdfa \n\n\n\n\n\n\ n\n dfnn
所以结果应该是:
存储\nTransformer Book T101HA 中强大的四核 Intel X5 处理器意味着您可以轻松完成所有日常任务,\n无缝多任务处理让您在更短的时间内完成更多工作。存储也很方便灵活。内部有 128GB 的超高速闪存,可通过 micro SD 卡插槽轻松扩展。您还可以在 ASUS WebStorage 上获得一年的免费无限云存储!\n\n颜色|白色/金色\n\n\n\n\n\nCPU|Innn dsafdsfdfa @@ dfnn
任何人都可以帮助解决这个问题,也许还可以解释已回答的正则表达式的逻辑。
非常感谢。