使用换行符非常特殊的模式进行正则表达式故障排除

问题描述 投票:0回答:1

我正在尝试在PHP中操作字符串以完成以下任务:

示例输入:

"""
line1\n
\n
line2\n
\n
\n
\n
line3\n
\n
\n
\n
\n
line4\n
\n
line5
"""

所需的输出:

"""
line1\n
line2\n
\n
line3\n
\n
line4\n
line5
"""

到目前为止,要在JavaScript中实现此功能,我需要输入text.split('\n\n').join('\n'),而在PHP端,我正在使用此表达式:preg_replace('~(\R{2})\R+~', '$1', $text)

这两种方法都能完成工作,但是这个过程看起来很时髦,由于正则表达式根本不是我的事,所以我想知道是否[[有更好的方法可以做到这一点?我肯定有:)] >

我正在尝试在PHP中操作字符串以完成以下操作:示例输入:“”“ line1 \ n \ n line2 \ n \ n \ n \ n \ n line3 \ n \ n \ n \ n \ n line4 \ n \ n line5“”“期望的输出:”“” line1 \ n line2 \ n \ ...
php regex string preg-replace str-replace
1个回答
0
投票
尝试查找(\r?\n)?(?:\r?\n){2,}替换$1\n可选的匹配换行符回写大于2。
© www.soinside.com 2019 - 2024. All rights reserved.