如果字体中没有 space ,则删除所有断行 CRLF

Remove all break line CRLF if there is no space in font of it

我有这段文字:

Today is Monday  
Tomorrow is Tuesday
Sunday was beautiful,
and sunshine  
Goodbye.

您可以看到 spaces(表示为 .)和断线(表示为 CRLF),如下图所示:

我想这样做:

所以我想要完成的结果如下所示:

Today is Monday  
Tomorrow is TuesdaySunday was beautiful,and sunshine  
Goodbye.

我尝试了这个正则表达式:^[^\r\n]*\r\n 并用任何东西替换它,但它不起作用,它删除了所有内容。

什么是好的正则表达式?

请注意 ^[^\r\n]*\r\n 匹配尾随 \r\n 的整行。因此,如果用空字符串替换,则会删除整行。

您可以使用 \R 构造而不是对换行序列进行硬编码。

如果你想匹配之前没有子模式的东西,你需要使用负向后看。在这里,(?<!\h) 应该可以(不是任何水平空格)。

所以,使用

(?<!\h)\R

如果有多个换行符,请添加一个 + 量词:

(?<!\h)\R+

替换为空字符串。

您可以用该字符替换任何不是 space 后跟 CRLF 的字符。所以搜索 ([^ ])\r\n 并替换为 </code>。但这可能会错误地处理空行。所以 <code>([^ \r\n])\r\n 可能是更好的搜索字符串。