做一个发现,但在其他地方取代它

时间:2016-01-11 12:41:01

标签: regex notepad++

我想在文件中搜索变量名称,看看它是否以<%=之前和之后的格式存在,如果它是,则将其删除 例如,从下面找到变量名称(即invalidChars)并搜索它是否以<%=invalidChars%>格式存在并将其转换为invalidChars

实施例

var invalidChars = "getText('po.number.has.invalid.chars')" />';

/* Some random text */

alert('<%=invalidChars%> ')

我使用var (.*?\w+).*来查找变量名称,即invalidChars,但现在我如何在文件中的位置替换它,即将alert('<%=invalidChars%> ')转换为alert('invalidChars')在单个或多个操作中,如何使用在我的下一个搜索中获得的值,因为我无法使用find <℅=$1=℅> with $1

1 个答案:

答案 0 :(得分:0)

试试这个正则表达式替换。

  • 查找内容: (var\h+)([^\h=]+)(.*)<%=\2%>
  • 替换为: \1\2\3\2
  • 检查左下角:正则表达式。匹配换行

点击几次替换,如果您确定它符合您的要求(也适用于涉及多个变量的复杂场景):点击全部替换。如果不起作用,请使用撤消。

如果多个var定义及其用法的位置重叠:Replace All将仅替换外部var。继续单击“替换”或“全部替换”,直到不再进行替换(观察替换对话框的状态栏)。