gpt4 book ai didi

regex - 使用正则表达式匹配器重写 sbt 工件以去除版本信息

转载 作者:行者123 更新时间:2023-12-04 06:20:24 24 4
gpt4 key购买 nike

RegEx 大师想要:我想在打包 sbt 项目时去掉库名称。也就是说,如果我的依赖被称为

val in = "scala-swing-2.9.0-1.jar"

我想把名字改写为
"scala-swing.jar"

例如。给定一个方法
def rewrite(p: util.matching.Regex, s: String) = s match {
case p(name) => name + ".jar"
case _ => s
}

我试过
rewrite("""([^-_]*)[-_].*.jar""".r, in)  // gives "scala.jar"


rewrite("""(.*)[-_]\d.*.jar""".r, in)    // gives "scala-swing-2.9.0.jar"

...

编辑:

奖金问题:
val in2 = "audiowidgets_2.9.0-1-0.10-SNAPSHOT.jar"
require(rewrite( ???, in2 ) == "audiowidgets.jar")

val in3 = "jsyntaxpane-0.9.5-b29.jar"
require(rewrite( ???, in3 ) == "jsyntaxpane.jar")

最佳答案

您也许也可以使用更简单的方法:

"(.*?)[-_]\\d.*\\.jar".r

关于regex - 使用正则表达式匹配器重写 sbt 工件以去除版本信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6654594/

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