亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Java正則表達式替換為捕獲組

Java正則表達式替換為捕獲組

慕婉清6462132 2019-11-15 13:06:36
有什么方法可以用捕獲組的已修改內容替換正則表達式?例:Pattern regex = Pattern.compile("(\\d{1,2})");Matcher regexMatcher = regex.matcher(text);resultString = regexMatcher.replaceAll("$1"); // *3 ??我想用$ 1乘以3代替所有出現的情況。編輯:看起來好像出了點問題:(如果我用Pattern regex = Pattern.compile("(\\d{1,2})");Matcher regexMatcher = regex.matcher("12 54 1 65");try {    String resultString = regexMatcher.replaceAll(regexMatcher.group(1));} catch (Exception e) {    e.printStackTrace();}引發IllegalStateException:找不到匹配項但Pattern regex = Pattern.compile("(\\d{1,2})");Matcher regexMatcher = regex.matcher("12 54 1 65");try {    String resultString = regexMatcher.replaceAll("$1");} catch (Exception e) {    e.printStackTrace();}工作正常,但我不能更改$ 1 :(
查看完整描述

3 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

伯爵的答案為您提供了解決方案,但我想我要補充一下造成您問題的原因IllegalStateException。您在調用時group(1)無需先調用匹配操作(例如find())。如果您只是在使用$1,replaceAll()則不需要此操作,因為這是匹配操作。


查看完整回答
反對 回復 2019-11-15
  • 3 回答
  • 0 關注
  • 1423 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號