我相当熟练地编写Windows批处理脚本,但即使这些年来,如何正确转义字符仍让我感到困惑。特别是在尝试找出正确的转义正则表达式以供使用sed时更加困难。是否有任何工具可以帮助我?也许有一些工具可以让我粘贴一个“普通”字符串,然后输出该字符串的正确转义版本?
更新:我不愿给出示例,因为我不是在寻求如何转义一个特定字符串的答案。我也不是在寻求适用于一个特定应用程序的解决方案。我正在寻找一种工具,它可以帮助我获取每个需要转义的字符串的正确转义语法,无论哪个工具从命令行中消耗它。
话虽如此,我真正想要的正则表达式是
(^.*)(Form Product=")([^"]*") FormType="[^"]*" FormID="([0-9][0-9]*)".*$
拿到那个真正的regex(即就BATCH而言未被转义的)并将其包装在一些sed语法中,例如ssed "s@ --- Insert escaped regex here --- @http://psph/\1/\2@g" "%~1"
,最后对其进行转义... 有没有任何工具可以帮助转义任意字符串以供在BATCH命令行中使用?p.s. BATCH的转义语法有很多例外情况,我甚至会接受一个好的Cheat Sheet。