我认为这个主题总体上会有很多应用。我可以举个例子来说明。考虑到我想要一种从已发布的 jar 文件中提取标准(maven)版本的方法。正则表达式可以这样使用:
def m = (~/.*-someUniquePortionHere-(.*)\.jar$/).matcher(jarFileName)
m.matches()
String version = "${m.group(1)}"
Run Code Online (Sandbox Code Playgroud)
所以上面的内容过于简单,但是,它适用于 UniquePortion - 并且有助于使问题保持简单。如果我想将其包装在一个将唯一部分作为参数的方法中,我仍然可以使用斜线字符串吗?我想在正则表达式中包含“$uniquePortion”。也就是说,下面应该是什么?
def exampleMethod(String uniquePortion, String jarFileName) {
// what would this look like here?
def m =
m.matches()
"${m.group(1)"
}
Run Code Online (Sandbox Code Playgroud)
为什么不?Slashy 字符串也是 GString。见链接
def unique = "groovy-all"
def m = (~/.*$unique(.*)\.jar$/).matcher("groovy-all:2.2.jar")
m.matches()
String version = "${m.group(1)}"
assert version == ":2.2"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1615 次 |
最近记录: |