如果字体中没有 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),如下图所示:
我想这样做:
- 如果 CRLF(分隔线)前面有 space 则什么都不做(保留 CRLF)
- 否则,如果 CRLF(断行)前面没有 space,则删除 CRLF(将 2 行连接到 1)
所以我想要完成的结果如下所示:
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
可能是更好的搜索字符串。
我有这段文字:
Today is Monday
Tomorrow is Tuesday
Sunday was beautiful,
and sunshine
Goodbye.
您可以看到 spaces(表示为 .)和断线(表示为 CRLF),如下图所示:
我想这样做:
- 如果 CRLF(分隔线)前面有 space 则什么都不做(保留 CRLF)
- 否则,如果 CRLF(断行)前面没有 space,则删除 CRLF(将 2 行连接到 1)
所以我想要完成的结果如下所示:
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
可能是更好的搜索字符串。