使用批处理文件修改找到的文本

modify the found text using batch file

首先,我正在寻找与此不同的东西:

我的目的是修改

"fillColor="#242838"fillColor="mycolor"

但是,此语句中的十六进制颜色可以是

"fillColor="#221231""fillColor="#213123"

那么如何使用 windows 批处理文件查找和编辑文本。

编辑:我已经为此尝试了 JREPL.BAT 正则表达式 find/replace 实用工具。

jrepl "android:fillColor=(.*?)" "fillColor="mycolor" /x /f myfile.xml /o -

但是,从 " 转义在这一行中不起作用。

我已经试过""\"^"他们没有帮我转义"字符。

可以使用 JREPL.BAT 完成任务,例如使用以下命令行:

jrepl.bat "(android:fillColor=\x22#)[0-9A-Fa-f]+" "FF0000" /f myfile.xml /o -

搜索字符串的解释:

(...) ... 标记组。该组找到的字符串在替换字符串中用表达式 </code>.</p> 反向引用 <p><code>\x22 ...用十六进制代码值指定的双引号字符。

[0-9A-Fa-f]+ ... 找到任何十六进制数字一次或多次。

搜索表达式中的所有其他字符都是要在文件中查找的字面解释字符。

替换字符串说明:

</code> ... 标记组在搜索正则表达式中找到的固定字符串的反向引用。</p> <p><code>FF0000 ... 新颜色值,此处为红色 (RGB)。

此替换任务有必要使用标记组,因为 JREPL.BAT 使用 不支持后视匹配在正确的上下文中要替换的颜色值。

在批处理文件中使用时,必须使用命令 CALL 调用此命令行:

call jrepl.bat "(android:fillColor=\x22#)[0-9A-Fa-f]+" "FF0000" /f myfile.xml /o -