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

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

需要正則表達式來檢索異常消息中字符<和>之間的電子郵件 ID

需要正則表達式來檢索異常消息中字符<和>之間的電子郵件 ID

慕蓋茨4494581 2022-09-28 09:36:20
需要有關正則表達式的幫助以在錯誤堆棧中檢索電子郵件ID,例如“某些文本,某些文本換行符等”。已嘗試使用堆棧溢出中提供的一些建議。但是他們中的大多數只打印錯誤以下是我嘗試過的一些選項,Matcher m = Pattern.compile("\\<([^>]+)\\)").matcher(e.getMessage());while(m.find()){    System.out.println(m.group(1));}System.out.println(e.getMessage().split("<(<^>>+)>"));exception.getMessage().split("\\[([^]]+)\\]")exception.getMessage().split("\\<\"(.*?)\"\\>")exception.getMessage().split("<(<^>>+)>")實際結果字符串數組僅包含一個值,并按如下方式打印整個堆棧,Failed messages: javax.mail.SendFailedException: Invalid Addresses;  nested exception is:    com.sun.mail.smtp.SMTPAddressFailedException: 550 5.0.0 <[email protected]>... User unknown;  nested exception is:    com.sun.mail.smtp.SMTPAddressFailedException: 550 5.0.0 <[email protected]>... User unknown;PS:電子郵件 ID 中沒有 \。堆棧溢出不接受后跟<的字符。所以在此之前添加了轉義字符。
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

根據正則表達式中接受的答案,這可以正常工作,以提取方括號之間的文本

Pattern.compile("\\<(.*?)\\>").matcher(e.getMessage());


查看完整回答
反對 回復 2022-09-28
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

這應該做你想要的,盡管假設每條消息只有一個。


public class someClass {

    private static final Pattern idPattern = Pattern.compile("<.*>");


    public static void main(String[] args) {

        doStuff();

    }


    public static void doStuff(){

        try{

            throwNPE();

        } catch (NullPointerException ex){

            String message = ex.getMessage();

            if(idPattern.matcher(message).matches()){

                System.out.println(getId(message));

            }

        }

    }


    public static String getId(String message){

        String[] messageParts = message.split("<|>");

        if(messageParts.length > 1){

            return messageParts[1];

        }else{

            throw new IllegalArgumentException();

        }

    }


    public static void throwNPE(){

        throw new NullPointerException("<123>");

    }

}

你只需要 doStuff() 和 getId(字符串) 作為你的示例(你可以刪除靜態),但是想要提供一個工作示例。


任何必要的解釋,請詢問。祝你好運!


查看完整回答
反對 回復 2022-09-28
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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