我有以下(工作)正则表达式:
UNUSED([^,}]+)\}|,\s?UNUSED([^{]+)|UNUSED([^{]+),\s?|UNUSED([^{]+)
我运行命令
sed 's/UNUSED([^,}]+)\}|,\s?UNUSED([^{]+)|UNUSED([^{]+),\s?|UNUSED([^{]+)//g' < index.css > newfile
但新文件仍然具有应该删除的所有模式。我做错了什么?
index.css incl。正则表达式:
答案 0 :(得分:5)
您正在使用扩展的POSIX正则表达式。您需要将-r
传递给sed,告诉它使用扩展的POSIX正则表达式。
另请注意,您正在使用的捕获组可以省略:
s/UNUSED[^,}]+}|,\s?UNUSED[^{]+|UNUSED[^{]+,\s?|UNUSED[^{]+//g
当然你也可以使用基本的POSIX正则表达式,然后没有-n
选项:
s/UNUSED[^,}]\+}\|,\s?UNUSED[^{]\+\|UNUSED[^{]\+,\s?\|UNUSED[^{]\+//g