NotePad ++替换问题

时间:2010-07-10 06:02:35

标签: regex notepad++

我有一个使用NotePad ++进行大量文本编辑的文件。

例如

<span class="italic">some text</span><span class="bold">another text or some text</span>

我想使用NotePad ++的正则表达式替换

<span class"italic>some text</span><i>some text</i><span class="bold">another text or some text</span><b>another text or some text</b>

我能够匹配范围文本但是如何用NotePad ++替换它们

查找<span class="italic">text12312</span>并将其替换为<i>[a-zA-Z]*</i>,实际上会将"[a-zA-Z]*"文本放入已替换的字符串而不是"text12312"

3 个答案:

答案 0 :(得分:24)

<span class="italic">([^<]+)</span> =&gt; <i>\1</i>

<span class="bold">([^<]+)</span> =&gt; <b>\1</b>

[^<]+匹配除<之外的任何字符中的一个或多个,并且括号在组#1中捕获它。 \1将捕获的文本插入替换字符串中。

答案 1 :(得分:3)

使用正则表达式:<span class="italic">([\w\s\d]+)</span>

并替换为:<i>$1</i>

这里重点是为您的文字创建一个匹配组,方法是将其括在括号中,即([\w\s\d]+)与一个或多个匹配:

  • \w word chars
  • \s space chars
  • \d数字字符

现在在替换字符串中,引用第一个且唯一匹配的组$1

答案 2 :(得分:0)

来自记事本的示例: 试图替换此文本:  0x0145测试 用这个文字: [0x0145]测试

enter image description here