标签: regex replace notepad++
当一个人试图从一行的开头删除一些字符并且在第一次替换后再次找到锚定的图案时,它将再次被删除。
对于给定输入012345,搜索模式^.和空替换的非常简单的示例,当使用替换所有时,Notepad ++将删除整行。这很可能是由于这样的情况,即在第一次替换后光标仍然在行的开头,因此再次与^锚点匹配。
012345
^.
^
如何确保仅删除实际的第一个字符(在我的情况下,预期的输出将是12345)?
12345
你可以在我的回答中看到我的解决方法,但也许有另一个很好的技巧来实现它。
答案 0 :(得分:3)
可以匹配线的其余部分,将匹配捕获到一个组中,然后将此组用作替换。问题中的模式可以调整为^.(.*),并替换为$1。
^.(.*)
$1
这将强制光标在字符串中向前移动,因此^锚点无法再次匹配。
答案 1 :(得分:1)
另一种解决方法可能是找到:
^.(.)?
并将其替换为:
\1
我确定这是错误报告的主题,但截至目前无法找到它。在N ++中:
照顾好他们。