메인메뉴 바로가기

HOME으로 가기


Javascript

기본문법 | 자바스크립트 정규표현식

본문

정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다.  주로 Programming Language나 Text Editor 등 에서 문자열의 검색과 치환을 위한 용도로 쓰이고 있습니다. 입력한 문자열에서 특정한 조건을 표현할 경우 일반적인 조건문으로는 다소 복잡할 수도 있지만, 정규표현식을 이용하면 매우 간단하게 표현 할 수 있습니다. 하지만 코드가 간단한 만큼 가독성이 떨어져서 표현식을 숙지하지 않으면 이해하기 힘들다는 문제점이 있습니다. 

 
- 문자열 검색이나 치환, 추출을 위한 정규식 표현 법.
- 프로그램에 따라 사용법이 약간 씩 다름.
 
---------------------------------
Javascript
 var regexp = /pattern/[flags] ;
 var test = regexp.test(to be checked)

 var regexp = new RegExp("pattern"[, "flags"]);
 var test = regexp.test(to be checked)
 
 
flags for javascript
g : global match, 일반적으로 패턴이 1번만 발견되면 찾기를 종료하지만, g flag가 있으면, 문자열 내에서 모든 패턴을 찾는다.
i : ignore case, 대소문자를 고려하지 않고 체크한다.[a-z]와 [A-Z]는 같은 표현이 된다.
m : match over multiple lines, 여러 줄에 걸쳐 체크를 한다.
 
 
[예문]
var str = "저기 Box가 있다.";
regExpEn = /[A-Za-z_-]/;
regExpKor = /[-|-|-]/;
console.log( regExpEn.test(str) );  // true
 
//메일계정아이디와 호스트명 알아냄.
var emailAddress = "mybamtol@bamtol.net";
var mail_info = emailAddress.replace(/([a-z\d_-]+)@([a-z\d_-]+)\.[a-z]{2,4}/ig, 'ID: $1,  HOST Name: $2');
alert( mail_info );   // ID: mybamtol, HOST Name: bamtol
 
//이메일 검증하기.
var exp = /([a-z\d_-]+)@([a-z\d_-]+)\.[a-z]{2-4}/ig;
var email = 'mybamtol2@bamtol.net';
alert( exp.test(email) );  // true
 
 
 
 
[다름 프로그램에서 사용법 - 참고]
Java
java.util.regex package
Pattern p = Pattern.compile("pattern"); 
Matcher m = p.matcher("string to be checked"); 
boolean b = m.matches();

boolean b = Pattern.matches("pattern", "string to be checked"); 

  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기