Regex 如果字体中没有空格,请删除所有换行符CRLF
我有以下案文:Regex 如果字体中没有空格,请删除所有换行符CRLF,regex,notepad++,Regex,Notepad++,我有以下案文: Today is Monday Tomorrow is Tuesday Sunday was beautiful, and sunshine Goodbye. 如下图所示,您可以看到空格(表示为)和特征线(表示为CRLF): 我想这样做: 如果CRLF(特征线)前面有空格,则不执行任何操作(保留CRLF) 否则,如果CRLF(特征线)前面没有空间,则移除CRLF(将2条线连接到1条线) 因此,我想要实现的结果如下所示: Today is Monday Tomo
Today is Monday
Tomorrow is Tuesday
Sunday was beautiful,
and sunshine
Goodbye.
如下图所示,您可以看到空格(表示为)和特征线(表示为CRLF):
我想这样做:
- 如果CRLF(特征线)前面有空格,则不执行任何操作(保留CRLF)
- 否则,如果CRLF(特征线)前面没有空间,则移除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
构造,而不是硬编码换行符序列
如果要匹配前面没有子模式的内容,则需要使用负lookback。这里,一个(?应该可以(不是任何水平空白)
所以,使用
(?<!\h)\R
替换将是一个空字符串
请注意,^[^\r\n]*\r\n
将整行与尾随的\r\n
匹配。因此,如果替换为空字符串,则删除整行
您可以使用\R
构造,而不是硬编码换行符序列
如果您想匹配前面没有某个子模式的内容,则需要使用负lookback
所以,使用
(?<!\h)\R
替换将是一个空字符串
您可以用该字符替换任何不带空格的字符。因此,搜索([^])\r\n
并替换为\1
。但这可能会错误地处理空行。因此([^\r\n])\r\n
可能是更好的搜索字符串。您可以用该字符替换任何不带空格的字符。因此,搜索([^])\r\n
并替换为\1
。但这可能会错误地处理空行。因此([^\r\n])\r\n
可能是更好的搜索字符串。只是(?)或(?…并替换为空字符串。只需(?)或(?…并替换为空字符串即可。