我有git登錄變量 中的多行字符串,並希望用超鏈接替換匹配的行 ,但保留Groovy原始字符串的某些部分。
Groovy字符串替換鏈接
例子:
commit 7a1825abc69f1b40fd8eb3b501813f21e09bfb54
Author: Filip Stefanov
Date: Mon Nov 21 11:05:08 2016 +0200
TICKET-1
Test change
Change-Id: I7b4028e504de6c4a48fc34635d4b94ad038811a6
應該像這樣:
commit 7a1825abc69f1b40fd8eb3b501813f21e09bfb54
Author: Filip Stefanov
Date: Mon Nov 21 11:05:08 2016 +0200
<a href=http://localhost:8080/browse/TICKET-1>TICKET-1</a>
Test change
<a href=http://localhost:8081/#/q/I7b4028e504de6c4a48fc34635d4b94ad038811a6,n,z>Change-Id: I7b4028e504de6c4a48fc34635d4b94ad038811a6</a>
林在Groovy正則表達式很不好不知道如何使用分組或關閉到目前爲止好:
mystring.replaceAll(/TICKET-/, "http://localhost:8080/browse/TICKET-")
注意: TICKET {int}和Change-Id {hash}是變量
嘗試這樣:mystring.replaceAll(/(TICKET - 。)/,「url \ 1」)。 \ 1是您匹配的組。 – MYGz
嘗試'.replaceAll(/(?m)^([\ \ t] +)(TICKET- \ d +)(\ R {2}。\ \ R {2} \ s +)(Change-Id:\ s +) (\ S +)/,「$ 1 $2 $ 3 $ 4 $4$5」)',這裏是[regex demo](https://regex101.com/r/9vKjYE/1)。 –