如何按类型GPL-3.0、AGPL-3.0等识别LGPL-3.0GPL许可证 使用正则表达式(正则表达式)?
条款:
- 除了破折号(
-),许可证可以有一个符号v甚至version。例子:GPLv3.0 - 许可证字符串中可能有空格。例子:
GPL 3.0 - 不得参与有授权版的部分
.0。示例:GPL-3; - GPL 也可以用小写字母/小写字母书写(不要按类型考虑选项
Gpl等gPl)。例子:gpl-3.0
我的答案如下。
如何按类型GPL-3.0、AGPL-3.0等识别LGPL-3.0GPL许可证 使用正则表达式(正则表达式)?
条款:
-),许可证可以有一个符号v甚至version。例子:GPLv3.0GPL 3.0.0。示例:GPL-3;Gpl等gPl)。例子:gpl-3.0我的答案如下。
我会做得更容易))可能有一些选项可以打破它,但似乎在您提供的示例中,它很有效:
如果您需要从文本中获取它们:
许可证定义
GPL-3.0:解释:
首先,它检查许可证是否为或
AGPL,LGPL如果是,则null返回(GPL|gpl)检查空格,最后检查许可证版本是否为3以及许可证版本是否有.0结尾。再沿着滚花
AGPL-3.0:LGPL-3.0:解释:
在最后两个示例中,检查许可证是否
AGPL被删除LGPL,并且简单地阐明需要哪个许可证(参见代码)。