【发布时间】:2012-11-25 10:25:30
【问题描述】:
目标是将字符串分成几行,除非前面有反斜杠。让我们想象一下。像这样的字符串:
Hello\
world!
Bye, world.
应该拆分:
[0] Hello world!
[1] Bye, world!
我想出了这个正则表达式(对于 PHP,preg_split):
/(?<!\\\\)\n/
拆分时会考虑反斜杠,但是:
- 反斜杠和换行符仍然存在。
- 它仅适用于类 UNIX 换行符 (
\n)。
所以,它实际上输出:
[0] Hello\\x10 world!
[1] Bye, world!
我的正则表达式应该是什么样子?
到目前为止,为了解决这些问题,我已经尝试过:
/(?<!\\\\)(?:\r\n|\n|\r)/
/(?:(?<!\\\\)\n)/
但它们都不起作用。
【问题讨论】: