Regex PHP многострочный комментарий (Meld)

Мне нужно различать две разные версии одного и того же приложения.
Файлы подписаны лицензиями, и эта лицензия изменилась.

Я не хочу, чтобы файлы, содержащие только diff, были подписаны как разные.

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

<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the License ....
*
*/

Есть похожие вопросы, но никто не работает для меня:

  1. RegEx для удаления / ** * / и // ** ** // php комментариев

  2. Как я могу выполнить diff, который игнорирует все комментарии?

Регекс пытался:

\/\*.*?\*\/|\/\/.*?\n
~//?\s*\*[\s\S]*?\*\s*//?~

На самом деле этот выглядит хорошо, но я не уверен, что он фильтрует слишком много:

\*.*

ОБНОВИТЬ:
Это невозможно:
https://mail.gnome.org/archives/meld-list/2011-December/msg00004.html

Пока фильтр кода в Meld
с радостью примет регулярное выражение, которое охватывает (и удаляет) несколько строк,
это вызывает несоответствие строк между текстом, который видит дифференциал, и
текст, который мы отображаем, поэтому все блоки изменений будут неправильными.

Другой подход состоит в том, чтобы удалить строки из файлов перед их обработкой в ​​объединение.

0

Решение

\s*\/\*.*|\s*\*.*

Ну, очевидно, meld не принимает все регулярные выражения Python в качестве текстового фильтра, ни многострочный, ни «|» внутренние скобки.
Таким образом, это решение исключает строки, начинающиеся со звезды и «/ *» с необязательными пробелами. Он не отфильтровывает все комментарии php, но может хорошо работать для ваших файлов.

Также взгляните на это:
https://mail.gnome.org/archives/meld-list/2011-December/msg00004.html

0

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

это регулярное выражение проще для многострочного использования:

  .*\/\*[^\/]+\/\s
0

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