无论如何,您可以像Java正则表达式模式/匹配/组一样使用sed做正则表达式匹配组吗?
如果我有像
test-artifact-201251-balbal-0.1-SNAPSHOT.jar
我如何使用sed只是为了获得如下结果:
test-artifact-0.1-SNASHOT.jar
我想知道sed是否允许您执行类似java regex的操作,您定义的模式如下:
([a-z]*-[a-z]*-)([0-9]*-)([a-z]*-)([.]*SNAPSHOT.jar)
然后您可以将结果作为一个数组获得,例如:
test-artifact- 201251- balbal- 0.1-SNAPSHOT.jar
您必须对括号进行转义才能对表达式进行分组:
\([a-z]*-[a-z]*-\)\([0-9]*-\)\([a-z]*-\)\([.]*SNAPSHOT.jar\)
并与使用它们\1,\2等等。
\1
\2
编辑 :还请注意,在SNAPSHOT此之前[.]不匹配。括号内.是文字。它应该是[0-9.-]*
SNAPSHOT
[.]
.
[0-9.-]*