PHP Regex用于删除特定CSS注释

2022-03-23 00:00:00 regex php preg-replace

我想用下面的php匹配条件编写正则表达式:

   /* 
    Remove this comment line 1
    Remove this comment line 2
   */
   .class1
   {
      background:#CCC url(images/bg.png);
   }

   .class2
   {
      color: #FFF;
      background:#666 url(images/bg.png); /* DON'T remove this comment */
   }

   /* Remove this comment */
   .class3
   {
      margin:2px;
      color:#999;
      background:#FFF; /* DON'T Remove this comment */
   }

    ...etc
    ...etc

请任何人给我一个用php编写的正则表达式。谢谢。


解决方案

如果规则是您要删除该行上没有其他代码的所有注释,则应该执行以下操作:

/^(s*/*.*?*/s*)$/m

‘m’选项使^和$匹配一行的开头和结尾。是否希望注释运行多行?

编辑:

我确信这符合要求:

/(^|
)s*/*.*?*/s*/s

您了解它在做什么吗?

相关文章