[英]Regex php multiline comment (Meld)
我需要比较同一应用程序的两个不同版本。 这些文件已使用许可证签名,并且该许可证已更改。
我不希望仅将包含差异的许可证文件签名为不同文件。
我使用Meld
作为差异软件,它允许使用正则表达式。
<?php
/**
*
* NOTICE OF LICENSE
*
* This source file is subject to the License ....
*
*/
有类似的问题,但没有一个对我有用:
正则表达式尝试:
\/\*.*?\*\/|\/\/.*?\n
~//?\s*\*[\s\S]*?\*\s*//?~
实际上,这看起来很有效,但是我不确定它过滤的太多了:
\*.*
更新:
这是不可能的: https : //mail.gnome.org/archives/meld-list/2011-December/msg00004.html
尽管Meld中的过滤器代码很乐意接受覆盖(并删除)多行的正则表达式,但这会导致diff看到的文本与我们显示的文本之间的行不匹配,因此所有更改块都是错误的。
不同的方法是在将行处理为融合之前从文件中删除行。
\s*\/\*.*|\s*\*.*
很明显,meld不接受所有的python regex作为文本过滤器,没有多行或“ |” 内括号。 因此,此解决方案不包括以星号开头的行和带有可选空格的“ / *”开头的行。 它不能精确地过滤掉所有的php注释,但是很适合您的文件。
还可以看一下: https : //mail.gnome.org/archives/meld-list/2011-December/msg00004.html
此正则表达式更适合多行使用:
.*\/\*[^\/]+\/\s
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.