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