我有一个使用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"
。
答案 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]测试