![Notepad++:使用正则表达式查找和替换](https://linux22.com/image/1245205/Notepad%2B%2B%EF%BC%9A%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%9F%A5%E6%89%BE%E5%92%8C%E6%9B%BF%E6%8D%A2.png)
我有一个文件,里面全是这样的行:
<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]+)
如我错了请纠正我。