我无法获得以下bash sed命令来查找和替换,因为它无法匹配:
$ sed -i.bak 's,\"js/lj.main.min.js\?\d{14}\","js/lj.main.min.js?20130521080532",g' index.html
或
$ sed -i.bak 's,\"js/lj\.main\.min\.js\?\d{14}\","js/lj.main.min.js?20130521080532",g' index.html
在包含以下内容的文本文件中
<script src="js/lj.main.min.js?20130520120515"></script>
应改为:
<script src="js/lj.main.min.js?20130521080532"></script>
中尝试时,正则表达式本身有效
怎么了?
答案 0 :(得分:2)
这个表达式对我有用:
's,"js/lj\.main\.min.\js?[0-9]\{14\}","js/lj.main.min.js?20130521080532",g'
请注意,正则表达式库有许多版本。某些功能(\d
)可能不受支持,某些特殊字符的反斜杠可能不同({}
,?
等。)