Notepad++:使用正则表达式查找和替换

Notepad++:使用正则表达式查找和替换

我有一个文件,里面全是这样的行:

<td>123.456</td>

我想转换为:

<td class="num">123.456</td>

我尝试使用高级查找/替换(启用正则表达式):

find: <td>([0-9\.]+)</td>
replace: <td class="num">\1</td>

我可以很好地找到我的 td 元素,但是不知何故,替换却给我一个空的 TD:

<td class="num"></td>

我究竟做错了什么?

答案1

我自己并没有经常使用 Notepad++,但您可以检查一下以确保 \1 是正确的...语法?例如,Dreamweaver 改用 %1。

答案2

这看起来像是 Notepad++ 或其插件的一个错误。

将语言从 HTML 切换到普通文本可以解决这个问题。

答案3

在我看来,这不像是一个 bug。我知道这篇文章已经是几个月前的帖子了,但请你迁就我。

在您的查找行中:查找:([0-9.]+)

看起来您只告诉引擎在句点之前找到一个数字,该数字重复一次或多次。您的正则表达式不应该更像这样吗?

查找:([0-9]+.[0-9]+)

如我错了请纠正我。

相关内容