Как удалить все однострочные строки комментариев PHP через Regex в любом редакторе

У меня есть php-файл, открытый в редакторе, например, Geany / Notepad ++, в котором есть как однострочные, так и блочные комментарии.

Теперь, когда блочные комментарии полезны для документации, я хочу удалить только однострочные комментарии, начинающиеся с //~ или же #, Другие комментарии, начинающиеся с // должен остаться, если они не исходная строка из //,

Как я могу сделать это в регулярных выражениях, я попробовал это ниже, но застрял в экранировании от косой черты, а также в том числе #,

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

Кто-нибудь может помочь?

0

Решение

Проблема с регулярным выражением ^[#][\/]{2}[~].* является то, что это соответствует строке, начинающейся с #//~,

Регулярное выражение такое же, как

^#\/\/~.*

Используйте регулярное выражение

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

демонстрация

Описание:

Однострочные комментарии могут начинаться с начала строки или после нескольких пробелов (отступ).

  1. ^: Начало строки
  2. \s*: Любое количество пробелов
  3. (\/\/|#): Матч // или же # персонажи. | ИЛИ в регулярном выражении.
  4. .*: Сопоставлять любые символы (кроме новой строки) любое количество раз

Обратите внимание, что Комментарии PHP не содержит тильду ~ после //, Даже если ~ присутствует после // так как вышеприведенное регулярное выражение проверяет // и не волнует персонажей после него, комментарий с //~ также будет соответствовать.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]