如何在任何编辑器中通过Regex删除所有单行PHP注释行


How to delete all single-line PHP comment lines through Regex in any editor

我有一个PHP文件在编辑器中打开,如Geany/notepad++,其中有两种类型的注释单行和块注释

现在,由于块注释对文档很有用,我只想删除以//~#开头的单行注释。其他以//开头的注释如果不是从//开始的,则应保留。

我如何用正则表达式做到这一点?我试了下面这个,但是我被转义斜杠卡住了,还包括#

^[#]['/]{2}[~].*

正则表达式^[#]['/]{2}[~].*的问题是它匹配以#//~开头的行。

正则表达式与

相同
^#'/'/~.*

使用正则表达式

^'s*('/'/|#).*

描述:

单行注释可以从行首开始,也可以在几个空格(缩进)之后开始。

  1. ^:起始行
  2. 's*:任意数量的空格
  3. ('/'/|#):匹配//#字符。|在正则表达式中是OR。
  4. .*:匹配任何字符(换行符除外)任意次数

注意PHP注释在//之后不包含波浪~。即使~出现在//之后,因为上面的regex检查//而不关心它之后的字符,带有//~的注释也将被匹配。