gpt4 book ai didi

java - Maven-versions-plugin:用于否定不遵循特定标记格式的版本的正则表达式

转载 作者:行者123 更新时间:2023-12-01 16:50:17 25 4
gpt4 key购买 nike

我正在使用 maven-versions-pluginsetProperties目标。我定义了一个 ruleset将当前属性版本与包含 git 分支名称(git 标签)的可用版本进行比较,并具有以下格式:
<number>.<number>.<number>-<branch_name>.<number>
例如,如果分支是 dev我想匹配类似 1.29.0-dev.5 的版本并忽略任何其他标签,例如 1.28.0-release.31.8.0-prere10010.1 .
该规则要求指定要忽略的版本 - 因此所有不采用 <number>.<number>.<number>-dev.<number> 形式的版本应该被忽略。
我已经尝试了几个正则表达式,但没有达到预期的结果 - 所有版本都在有效版本列表中,以与当前版本进行比较

<ruleset comparisonMethod="maven"
xmlns="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://mojo.codehaus.org/versions-maven-plugin/rule/2.0.0
http://mojo.codehaus.org/versions-maven-plugin/xsd/rule-2.0.0.xsd">
<rules>
<rule groupId="com.abc.de" comparisonMethod="maven">
<ignoreVersions>
<ignoreVersion type="regex">(?!^[((\d*)\.(\d*)\.(\d*)\-dev\.(\d*))]$)</ignoreVersion>
<ignoreVersion type="regex">null</ignoreVersion>
</ignoreVersions>
</rule>
</rules>

`

您能帮忙编写正确的正则表达式吗?

最佳答案

尝试使用负向正向查找,然后捕获字符串的其余部分,以防 Maven 寻找完整匹配:

^(?!\d+\.\d+\.\d+-dev\.\d+).*$  

关于java - Maven-versions-plugin:用于否定不遵循特定标记格式的版本的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61704406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com