package org.manalith.ircbot.util;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MessageUtils {
private static final Pattern PATTERN_URI = Pattern
.compile(".*(https?://\\S+).*");
/**
* 메시지 본문에서 http 혹은 https로 시작하는 URI를 추출해 반환한다. URI가 없을 경우 null을 반환한다.
*
* @param msg
* URI를 추출해낼 원본 메시지
* @return 추출해낸 메시지 혹은 null
*/
public static String findUri(String msg) {
if (!msg.contains("http"))
return null;
Matcher matcher = PATTERN_URI.matcher(msg);
if (!matcher.matches())
return null;
try {
return new URI(matcher.group(1)).toASCIIString();
} catch (URISyntaxException e) {
return null;
}
}
}