通过Windows中的命令行从一组php文件中删除注释

时间:2016-01-28 12:57:21

标签: regex

我有一堆文件,我想将它们发送到部署sans任何评论,但空格不变(这样我可以在紧急情况下对生产进行任何快速更改)。

评论可以是单行评论(#//),也可以是多行语法/**/以及任何缩进级别。

我想创建一个批处理文件,当从任何目录执行时,它会读取所有php文件并删除它们的注释。

我甚至不确定该尝试什么。我知道我可以轻松地获取所有带有.php扩展名的文件并循环遍历它们。替换他们的内容也很容易。我坚持的是如何删除评论。

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到,但我认为最有效的方法是使用正则表达式。 我不是RegExp大师,但我知道你可以使用grep(或任何强大的文本编辑器,如Notepad ++,sublimetext,et ...)来替换突出显示为空字符串的表达式。

例如,在Sublime Text中,我测试了这个正则表达式,它找到任意多行注释:

\/\*([\s\S]*?)\*/|//.*|#.*

快速说明:

  • 正则表达式由3组成,内部带有OR符号(管道符号|
  • 第一个表达式表示“以/ *,任何字符或任何空白字符开头,并以* /”结尾的内容
  • 第二个意思是“任何以//开头的表达式和
  • 之后的任何字符
  • 第三个意思是“任何以#开头的表达式和
  • 之后的任何字符

在sublime文本中设置此搜索表达式后,您可以使用“空白”替换替换它返回的内容。