eclipse - vim回车符
如何在日食中搜索回车 (4)
如果我的eclipse编辑器中有以下文本:
Text Line 1
Text Line 2
我想将文本连接成:
Text Line 1Text Line 2
我的第一个想法是搜索回车字符'\ n'并将其替换为''以连接它。
我尝试使用eclipse的搜索功能,但它无法识别回车符。
还有其他编辑器可以做到这一点吗?
谢谢=)
\ r \ n是回车的正确正则表达式。 但是Eclipse标准编辑器没有找到它。 所以使用外部编辑器,例如notepad ++
简短回答 :
我决定在多行搜索表达式(启用正则表达式)和\Qfoo\E
使用\s++
作为分隔符,以便在需要时转义特殊字符。
答案很长 :
正如soru
已经回答的那样,对于任何“Unicode换行序列”,可以使用带有\R
的正则表达式搜索。
纯回车符由\r
表示。 大小写有所不同。
我发现这个问题是因为我想在Eclipse中搜索多行表达式,包括换行符和制表符:
@Override
@Transient
为了在我使用的常规搜索表达式中包含空格(在Windows平台上)
@Override\r\n\t*@Transient
以下表达式也有效:
-
@Override\R\t*@Transient
-
@Override\[email protected]
请注意 ,第二个表达式也匹配@Override @Transient
而没有换行符 ,这对我来说很好。
以下表达式没有! 为我工作:
-
@Override\r\t*@Transient
-
@Override\n\t*@Transient
一些正则表达式的解释:
-
\R
表示任何unicode换行符序列(例如\r\n
) -
\s
表示任何空白区域 -
\t
代表一个标签 -
*
匹配零次或多次出现 -
++
匹配一次或多次出现 -
\Q
和\E
逃脱包装内容。 例如,如果原始多行表达式包含特殊的正则表达式字符,请使用它们
\Q/**\E\s++\Q*\E
火柴
/**
*
另见:
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
如果你这样做,Eclipse会这样做
- 在搜索/替换中启用正则表达式模式
- 输入\ R表示换行符
编辑器中的大多数查找和替换任务(至少是TextPad)都可以通过正则表达式进行替换。 如果你能在eclipse中找到这个选项,那就用吧。