Visual Studio使用查找/替换结束行正则表达式($)将文本附加到行尾

Ste*_*olt 10 regex ssms find visual-studio

我试图使用Visual Studio或SQL Server Management Studio在查找/替换对话框中使用以下设置将一些文本(例如"Fish")附加到文件中每行的末尾:

  • 找到什么:$
  • 替换为:鱼
  • 使用正则表达式:已选中

这主要是完成这项工作,但对于少数几行,它不仅将"鱼"添加到行的末尾,而且还将它放在行的开头.我无法辨别出这种行为的任何模式,它似乎几乎是随机的,文件越大,线条就越容易出错.

类似的查找/替换^(将文本放在行的开头)没有问题.

谁知道为什么会这样?而且,有没有更好的建议来实现我想要的?

Pav*_*uva 14

这适用于Visual Studio 2012和2015:

Find: \r 
Replace: Fish\r
Run Code Online (Sandbox Code Playgroud)

确保勾选"使用正则表达式"复选框:

更换面板


met*_*tal 10

我不确定你为什么看到这个,但你可能会尝试这样的事情:

Find: ^.*$ 
Replace: \0Fish
Run Code Online (Sandbox Code Playgroud)

  • @metal ["将匹配字符串锚定到一行的末尾"现在是\ r?$](http://msdn.microsoft.com/en-us/library/2k3te2cs.aspx) (2认同)
  • 在VS 2015中,我不得不使用`$ 0`而不是`\ 0`作为第一个匹配组. (2认同)