如何在任何编辑器中通过 Regex 删除所有单行 PHP 注释行
How to delete all single-line PHP comment lines through Regex in any editor
我在 Geany/Notepad++ 这样的编辑器中打开了一个 PHP 文件,它有单行注释和块注释两种类型。
现在块注释对文档很有用,我只想删除以 //~
或 #
开头的单行注释。其他以 //
开头的注释如果不是从 //
.
开始的行,则应保留
如何使用正则表达式来做到这一点?我在下面尝试了这个,但我陷入了转义斜杠,还包括 #
.
^[#][\/]{2}[~].*
正则表达式 ^[#][\/]{2}[~].*
的问题在于它匹配以 #//~
.
开头的行
正则表达式与
相同
^#\/\/~.*
使用正则表达式
^\s*(\/\/|#).*
描述:
单行注释可以在行首或几个空格(缩进)之后开始。
^
: 行首
\s*
:任意数量的空格
(\/\/|#)
:匹配//
或#
个字符。 |
在正则表达式中是或。
.*
:匹配任意字符(换行符除外)任意次数
请注意 PHP comments 在 //
之后不包含波浪号 ~
。即使 ~
出现在 //
之后,因为上面的正则表达式检查 //
并且不关心它后面的字符,带有 //~
的注释也会被匹配.
我在 Geany/Notepad++ 这样的编辑器中打开了一个 PHP 文件,它有单行注释和块注释两种类型。
现在块注释对文档很有用,我只想删除以 //~
或 #
开头的单行注释。其他以 //
开头的注释如果不是从 //
.
如何使用正则表达式来做到这一点?我在下面尝试了这个,但我陷入了转义斜杠,还包括 #
.
^[#][\/]{2}[~].*
正则表达式 ^[#][\/]{2}[~].*
的问题在于它匹配以 #//~
.
正则表达式与
相同^#\/\/~.*
使用正则表达式
^\s*(\/\/|#).*
描述:
单行注释可以在行首或几个空格(缩进)之后开始。
^
: 行首\s*
:任意数量的空格(\/\/|#)
:匹配//
或#
个字符。|
在正则表达式中是或。.*
:匹配任意字符(换行符除外)任意次数
请注意 PHP comments 在 //
之后不包含波浪号 ~
。即使 ~
出现在 //
之后,因为上面的正则表达式检查 //
并且不关心它后面的字符,带有 //~
的注释也会被匹配.