如何删除仅以“//”开头的JavaScript评论?

时间:2015-09-08 16:32:32

标签: javascript php regex comments

首先澄清一下,我已经有一个压缩工具可以成功压缩其他所有内容,所以我不需要复杂的preg_replace正则表达式,只需要一个简单的preg_replacestr_replace规则做。

我只想删除以“//”开头的JavaScript注释(包括空格,以便我不删除URL)直到新行。而已!再一次,我不需要替换/ * * /或任何其他变体,因为我已经有一个脚本已经这样做了;它唯一缺少的就是这个功能,所以我想首先清理输入,然后将其交给脚本。

以下是我想删除的评论示例的屏幕截图:

Screenshot 1 Screenshot 2

我真的很感激这方面的帮助! :-)谢谢!

2 个答案:

答案 0 :(得分:1)

试试这段代码:

$re = "~\\n? */{2,} .*~"; 
$str = "text\n\n/*\ntext\n*\n    //example1\n    //example2\n\ntext\n\n//   example 3"; 
$subst = ""; 

$result = preg_replace($re, $subst, $str);

正则表达式匹配两个或更多/跟随您在问题中询问的空格。更换时,将擦除整行或直到

的空格和换行符

Demo

答案 1 :(得分:1)

我使用带有多行modifierm

的正则表达式
/^\h*\/\/.*$/m

这将找到以//开头的所有行,而不管它前面的空格。第一个//之后的任何内容都将被删除,直到该行结束。

Regex101演示:https://regex101.com/r/tN7nW9/2

您应该在将来将数据包含为字符串(而非图像),以便用户可以对其进行测试。

PHP用法:

echo preg_replace('/^\h*\/\/.*$/m', '', $string);

PHP演示:https://eval.in/430182