【发布时间】:2016-12-01 11:29:29
【问题描述】:
Sublime 似乎认为 \Z 与文件的实际结尾匹配,
并且每个 \n 都指向它。
这是 Sublime 中的错误吗
(意思是,崇高或它正在使用的东西),
还是正确的行为
我只是对它应该如何工作感到困惑?
这是一个简化的具体演示:
这是搜索替换:
Find What:\Z
Replace With:y
这里有 4 个例子:
- the original file contents
- the actual result
- my expected result
eg0 - \n 最后:0
(按我的预期工作。)
原文:
x0 X X x
实际:
x0 X X xy
预期:
x0 X X xy
((
Stackexchange 格式在这里搞砸了,
并开始忽略#.* 行,
我不知道如何解决它,
但pre-tag 的内容仍然可以。
编辑:
帖子本身的实际格式有效,
但是帖子的预览中的格式混乱了(显示在编辑框下方)。
))
eg1 - \n 最后:1
原文:
x1 X X X
实际:
x1 X X xy 是的
预期:
x1 X X X 是的
eg2 - \n 最后:2
原文:
x2 X X X
实际:
x2 X X xy 是的 是的
预期:
x2 X X X 是的
eg3 - \n 最后:3
原文:
x3 X X X
实际:
x3 X X xy 是的 是的 是的
预期:
x3 X X X 是的
【问题讨论】:
-
好吧,
\z-->y替换是否按预期工作? -
@WiktorStribiżew 是的,这得到了我预期的结果(即,与上述每个示例的
expected预块相同)。但是\Z应该 可以正常工作吗? -
\Z也匹配文档中最后一个换行符之前。 -
所以......按照那个描述......你的意思是
\Z-->y应该在所有情况下插入一个singley,只是之前最后的\n?? -
看看我的回答,我找到了对 Boost 正则表达式语法的确切引用。关键是 PCRE 和 Boost 在许多方面都有点不同(Python
re除外)\Z匹配字符串的末尾或最后的换行符。 Boost 似乎是另一个例外。
标签: regex replace editor sublimetext2 sublimetext