我有以下文字:
74 avenue Emile Counor
蝙蝠B2 Appt B104
我想替换所有换行,只有当以下3个字母不是3个大写字母时.
例如,前面的示例应该变为:
74 avenue Emile Counor Bat B2 Appt B104
但
74 avenue Emile Counor
BAT B2 Appt B104
应该留下.
我通过正则表达式工具尝试了很多解决方案,但无法满足我的需求.
这是我到目前为止所尝试的
preg_replace("/\n([^A-Z]{3})/", " $1", $str)
Run Code Online (Sandbox Code Playgroud)
如果你想否定LF后面的内容,那就是使用负前瞻:
$str = preg_replace("/\n(?![A-Z]{3})/", " ", $str);
Run Code Online (Sandbox Code Playgroud)
请注意,前瞻只是一种测试,其内容不会出现在匹配结果中.