프로젝트 작업중에 문자열들에서 url을 뽑아야하는 문제가 있었다
두가지의 신경쓸게 있었다.
http, https로 시작하지 않아도 잘되야한다 ex) aaa.com
빨라야한다
처음에 자바의 스트링기능을 사용했다
짧은글은 그럭저럭 하지만 이게 긴글을 대상으로 하니 꽤 눈에 띄일정도로 속도가 정규식과 차이가 나게되었다.
삽질하면서 정규식 만들었다.
이것보다 짧고 좋게 만든것도 있겠지.
PHP, Javascript, python 은 널려있으니 그냥 찾으면되는데
자바는 이 조건을 충족하는게 좀처럼 보이지 않았다.
그래서 직접 삽질해서 했다.
마침 IDE도없는터라 온라인 컴파일러로 깨작깨작했다.
귀찮아서 그냥 소스코드만 적는다
아래 regex 스트링을 잘보면된다.
public static String UrlHtml(String str){
StringBuffer sb = new StringBuffer();
String regex ="[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)";
Pattern p = Pattern.compile(regex);
Matcher m=p.matcher(str);
if(m.find()){
sb.append(m.group(0));
System.out.println("==="+m.group(0));
/*for(int i=0;i<=m.groupCount();i++){
System.out.println(i+"==="+m.group(i));
sb.append(m.group(i));
}*/
}
'개발::. > 안드' 카테고리의 다른 글
java CV + FFmpeg 스트리밍 클라이언트. (0) | 2015.06.10 |
---|---|
android FFmpeg 컴파일 (0) | 2015.06.10 |