sed-如何使用sed做正则表达式组

无论如何,您可以像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等等。


:还请注意,在SNAPSHOT此之前[.]不匹配。括号内.是文字。它应该是[0-9.-]*

以上是 sed-如何使用sed做正则表达式组 的全部内容, 来源链接: utcz.com/qa/424649.html

回到顶部