정규표현식 중 자주사용하는 형식 패턴 몇가지를 적어봅니다.
이메일 : ^([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$
전화번호 : ^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$
자주쓰는 정규표현식 샘플입니다.
■ 사용자 ID 검증 패턴 : "^[a-z][a-z0-9]{3,15}$"
(ID의 가장 앞 글자는 반드시 알파벳으로 시작해야 하며, ID에 포함될 수 있는 문자는 알파벳 또는 숫자임. 총 길이는 최소 4자에서 최대 16 자)
■ E-Mail 주소 검증 패턴 : "^[a-z0-9\.\-_]+@([a-z0-9\-]+\.)+[a-z]{2,6}$"
(ID부분은 최소 1자 이상의 a-z 또는 0-9 또는 . 또는 - 또는 _ 문자가 사용 가능하며,
도메인 부분은 1자 이상의 a-z 또는 0-9 또는 - 문자로 구성되고 .으로 끝맺음해야 하며,
가장 마지막 부분은 2~6의 알파벳으로 끝나야 한다. (2자는 kr 등 국가별도메인을 위한 것이고,
6자는 새로운 gTLD인 museum 까지 고려한 것임)
■ 문자열중 URL 찾아 링크 걸어주기 #1
str.replaceAll("(.*)((?:http|ftp)://[\w\./\-?&%:=]+)(.*)", "$1<a href="$2" target="_blank">$2</a>$3")
이것은 문자열중 http://나 ftp://로 시작하는 URL 문자열을 찾아 자동으로 링크를 걸어주는 메소드입니다.
단, URL에 포함된 문자열은 rfc에 정의된 표준문자열만 가능하고, parameter 등에 한글 등의 문자가 포함되어 있으면 링크는 그 바로 앞까지만 걸리게 됩니다. 만약 한글 등의 문자까지 함께 링크를 걸려면 아래 방법을 사용하면 됩니다.
■ 문자열중 URL 찾아 링크 걸어주기 #2
str.replaceAll("(.*)((?:http|ftp)://\S+)(.*)", "$1<a href="$2" target="_blank">$2</a>$3");
위의 방법과 유사하긴 하지만 이것은 공백을 기준으로 링크의 끝을 알아냅니다. 따라서 URL에 한글로 된 파라미터가 포함되어도 정상적으로 걸리긴 하지만 반드시 링크의 끝에 한칸 이상의 공백이나 Line Break 등이 있어야만 정상적으로 링크가 걸립니다.
■ 문자열중 메일주소 찾아 찾아 링크 걸어주기
str.replaceAll("(.*\s)([\w\.\-]+@(?:[a-z0-9\-]+\.)+[a-z]{2,6})(.*)", "$1<a href="mailto:$2">$2</a>$3");
이것은 문자열 내용중에 E-Mail 주소를 찾아 링크를 걸어주는 역학을 합니다.
■ 개행(줄바꿈) 문자 찾기 : "\r\n|\n|\r"
개행문자는 보통 n으로 찾을 수 있는데, 플랫폼에 따라서 이 개행문자가 차이가 나기 때문에 주의해야 합니다.
UNIX : n (Line Feed)
Mac : r (Carrige Return)
Windows : rn (CR/LF)
"\r\n|\n|\r" 패턴은 플랫폼에 무관하게 개행문자를 찾을 수 있습니다.
|
||
|