2016-08-17 4 views

답변

0
URL을 인식

패턴 (기반 오프 RFC 3986)

private static final Pattern urlPattern = Pattern.compile(
     "(?:^|[\\W])((ht|f)tp(s?):\\/\\/|www\\.)" 
       + "(([\\w\\-]+\\.){1,}?([\\w\\-.~]+\\/?)*" 
       + "[\\p{Alnum}.,%_=?&#\\-+()\\[\\]\\*[email protected]!:/{};']*)", 
     Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); 


//Usage: email content goes as input here.. 
Matcher matcher = urlPattern.matcher("foo bar http://example.com baz"); 

while (matcher.find()) { 
    int matchOffsetStart = matcher.start(1); 
    int matchOffsetEnd = matcher.end(); 
    // now you have the offsets of a URL match 
} 

UPDATE : 당신이 그렇게부터와 같은 메시지 헤더를 읽고 싶다면 , 내가 사용하는 것이 좋습니다 것입니다 Mime4J

Message msg = new Message(new FileInputStream("mime.msg")); 

msg.getFrom() 당신을 줄 것입니다. 마찬가지로 원하는 것을 추출 할 수 있습니다.

+0

패턴에 대해 Sunil에게 감사드립니다. 그 전에 내가 그 이메일의 내용을 구문 분석 할 것보다 먼저 이메일을 확인하고 유효성을 검사해야합니다. – Aminul

+0

이메일 확인 - 발신자로 올바른 사람을 의미합니까? 나는 완전히 당신을 얻지 못했다. –

+0

내 단계가 있어야한다. 1. 예상 된 이메일이 보내 졌는지 아닌지를 확인해야한다. 2. 그런 다음 URL을 구문 분석하고 계속 진행할 것이다. – Aminul

관련 문제