如何在替换字符串中使用通配符?

Bla*_*ise 8 visual-studio-2010

我需要改变一切:

<label for="*">
Run Code Online (Sandbox Code Playgroud)

<label for="*" class="inline checkbox">
Run Code Online (Sandbox Code Playgroud)

但事实证明我所有人<label for="XXXXXX">都变成了<label for="*" class="inline checkbox">.是的,*字面意思是字符串而不是通配符.

为什么通配符只在Find中取代?我应该在Replace字符串中输入什么?

RJB*_*RJB 19

接受的答案也在其他地方提供,但对我不起作用.

我必须在Find中使用(.*),在Replace中使用$ 1.

  • 我认为它在VS 13或15中发生了变化.我正在使用VS 15并且可以保证同样的事情.{}不再工作,但()做.与使用$的识别组相同 (3认同)
  • 同样适用于 VS2017 (2认同)

For*_* L. 12

我不确定是否有办法使用通配符,但你可以使用正则表达式完成它:

  1. Find and Replace下面的对话框中,Find Options选中 Use:并从下拉列表中选择Regular expressions.
  2. 在文本框中Find What,键入:\<label for="{.*}"\>
  3. 在文本框中Replace with,键入:<label for="\1" class="inline checkbox">

笔记:

  • 我逃脱<>\,因为它们是特殊字符.
  • .* 将匹配任何字符串.
  • 在替换文本中,\1将替换为{}在find表达式中找到的字符串.

此外,如果单击查找和替换文本框旁边的箭头,您将找到有关特殊字符的更多信息.