第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java正則表達式部分替換

java正則表達式部分替換

元芳怎么了 2021-08-25 16:32:57
我正在處理一些具有靜態(tài)方法調用的遺留代碼,我們需要將其從源代碼樹中刪除。現(xiàn)有代碼如下:Logger.getInstance(JdkUtil.forceInit(SomeBusiness.class));我們需要結束的是:Logger.getInstance(SomeBusiness.class);我今天花了一整天試圖弄清楚如何進行替換。由于我對正則表達式的經(jīng)驗很少,所以我只能想出一個與源字符串匹配的模式。模式 JdkUtil.forceInit([a-zA-Z_0-9]*.class) 在我提供的輸入字符串上找到匹配項。我已經(jīng)在https://www.freeformatter.com/java-regex-tester.html測試過了因此,如果有人可以為此發(fā)布 Java 解決方案,我將不勝感激。下面是我到目前為止的一些 Groovy 代碼。我缺少的是如何正確替換上面解釋的。String source = 'Logger.getInstance(JdkUtil.forceInit(RtpRuleEngineCompiledImpl.class))'    String regexpPattern = 'JdkUtil.forceInit\\([a-zA-Z_0-9\\)]*.class\\)'    String replaced = source.replaceFirst(regexpPattern, 'hello')    println replaced當我運行上面的代碼時,我得到以下輸出:Logger.getInstance(你好)顯然 'hello' 僅用于測試。在此先感謝任何可以給我一些建議的人。
查看完整描述

1 回答

?
catspeake

TA貢獻1111條經(jīng)驗 獲得超0個贊

您可能想要執(zhí)行以下操作:


class StackOverflow {

    public static void main(String[] args) {

        String source = "Logger.getInstance(JdkUtil.forceInit(RtpRuleEngineCompiledImpl.class))";

        String regexpPattern = "JdkUtil.forceInit\\(([a-zA-Z_0-9]*.class)\\)";

        String replaced = source.replaceFirst(regexpPattern, "$1");

        System.out.println(replaced);

    }

}

結果:


Logger.getInstance(RtpRuleEngineCompiledImpl.class)

捕獲組 ( $1) 替換括號內(nèi)的整個字符串。


查看完整回答
反對 回復 2021-08-25
  • 1 回答
  • 0 關注
  • 315 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號