Perl正则表达式用于查找和替换php多行注释

时间:2013-08-20 17:46:41

标签: php javascript regex perl

我正在尝试通过删除所有单行和多行注释来找到缩小PHP / JavaScript代码的方法。目前我有单行删除工作,但我无法弄清楚如何删除我的多行注释。我尝试了以下正则表达式:

\/\*[^\*\/]*\*\/
\/\*[^.\/]*\*\/

还有很多其他人。我用来查找单行并且多行失败的当前表达式是(\/\/[^\n]*\n|\/\*[^\*\/]*\*\/)

表达要求

  • 表达式必须是Perl
  • 表达式不得停留在多行评论中的//(即http://url.com
  • 表达式必须能够找到单行和多行注释
  • 该表达式可用于查找任何多行PHP / JavaScript注释的开头和结尾。

您可以对其进行测试的代码示例found here

提前谢谢。

3 个答案:

答案 0 :(得分:3)

\/\*[\s\S]*?\*\/
  • \/\*匹配/*
  • [\s\S]*?匹配任何内容(非贪婪)
  • 直到\*\/;匹配*/

答案 1 :(得分:0)

http://www.perl.com/pub/2003/06/06/regexps.html

你不会单独使用它。这不包括换行符。

您将需要使用/ s选项。

答案 2 :(得分:0)

有一个在线guide,它提供了以下perl正则表达式。

(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*)

它似乎用test code给出了正确的输出。但是你可能会遇到第10行中的文本问题,其中有其他元素内的注释。