正则表达式 - 删除除匹配文本之外的所有其他文本

时间:2013-06-08 16:47:03

标签: regex sublimetext2

我正在使用sublime text 2编辑器。我想删除除名称标记值以外的所有其他文本。

这是一个例子

<div class="control-group">
      <label class="control-label" for="c_email">Email (required)</label>
      <div class="controls">
        <input type="text" name="c_email" value="">
      </div>
    </div>

在上面的代码中,我想只保留name标签值。要匹配所有名称标签,我使用正则表达式

name="(.+?)"

它匹配所有名称标签。但是当我将其替换为$1时,它只会将name="c_email"替换为c_email

有人可以帮我删除所有其他文本吗?

由于

1 个答案:

答案 0 :(得分:8)

你可以这样做:

find: [\s\S]*?name="(.+?)"[\s\S]*
replace: $1

如果您想限制删除目标div:

find: <div class="control-group"[\s\S]*?name="(.+?)"[\s\S]*?</div>\s*</div>
replace: $1