在模式记事本++之后删除所有内容

时间:2017-08-29 07:42:06

标签: regex notepad++

嗨我有XML包含以下行

<size name="S" count="1"  enabled="yes" />
<size name="M" count="1"  enabled="yes" />
<size name="L" count="0"  enabled="no" />

我只需保留大小名称和值,并删除该行的其余部分,如下所示:

<size name="S"/>
<size name="M" />
<size name="L" /> 

你能告诉我如何通过Notepad ++

来做到这一点

2 个答案:

答案 0 :(得分:0)

  • 控制 + ħ
  • 找到:(<size name="[^"]+" ).+
  • 替换为:$1/>
  • 全部替换

<强>解释

(               : start group 1
   <size name=" : literally
   [^"]+        : 1 or more character that is not double quote
   "            : double quote
)               : end group
.+              : 1 or more any character 
  • 检查正则表达式
  • 请勿检查. matches newline

<强>替换

$1      : content of group 1
/>      : close tag

给定示例的结果:

<size name="S" />
<size name="M" />
<size name="L" />

答案 1 :(得分:0)

这可以在没有捕获组的情况下完成:

找到:count=".*"
替换为:[保留字段空白]

输入:

<size name="S" count="1"  enabled="yes" />
<size name="M" count="1"  enabled="yes" />
<size name="L" count="0"  enabled="no" />

结果:

<size name="S" />
<size name="M" />
<size name="L" />

因为*量词是“贪婪的”,它将直接通过enabled到达该行中的最后一个双引号。

除非勾选. matches newline框(不要这样做),否则模式将不会超出初始行。