글 작성자: juyoungit

정규식(Regular Expressions)

정규식은 검색패턴을 형성하는 일련의 문자를 말하는 것으로서 이 검색패턴은 문자열에서 특정 텍스트를 조회하거나

변경할 때 유용하게 사용할 수 있습니다. 정규식은 단일 문자이거나 더 복잡한 패턴일 수 있습니다.

자바스크립트에서 이 정규식 또한 객체로 분류 됩니다.

 

자바스크립트에서 사용하는 정규식은 다음의 형식을 가집니다.

/pattern/modifiers;

 

정규식의 사용

자바스크립트에서 정규식은 문자열에 사용되는 메소드 search(), replace()와 함께 많이 사용됩니다.

search()와 replace()가 동작하는 데 기본적으로 문자열에 대한 탐색이 진행되기 때문인데 여기에 정규식을 결합하면

보다 더 유연하고 융통성 있게 코드를 작성하는 것이 가능해 집니다.

(기존 search(), replace() 메소드의 탐색/검색 능력을 훨씬 강력하게 만들어 줍니다.)

 

 

정규식의 수정자(Modifiers)

정규식에는 다음과 같은 수정자를 사용하여서 의미를 부여할 수 있습니다.

수정자(modifiers) 내용
i 대소문자를 구분하지 않음
g 첫번째 일치하는 문자열을 탐색한 후에도 끝까지 탐색(전역탐색)
m 여러개의 행(Multi-line)을 대상으로 검색

 

 

정규식 패턴(Pattern)

대괄호( [ ] )를 사용하면 다양한 문자를  찾는 데 사용할 수 있습니다.

식(Expression) 내용
[abc] 대괄호 사이의 문자열을 문자열에서 탐색
[0-9] 대괄호 사이의 숫자를 문자열에서 탐색

(왼쪽의 경우 0에서 9 사이의 수를 탐색한다는 의미이며 0과 9도 탐색의 범위에 포함됩니다.)
(x|y) x 또는 y에 대응되는 문자열을 탐색

 

메타문자눈 특별한 의미를 가지는 문자로서 다음의 의미를 가집니다.

메타문자(Metacharacter) 내용
\d 숫자를 탐색
\s 공백문자(whitespace)를 탐색
\b 단어의 시작이나 끝부분에서 일치항목을 탐색
(단어의 경계를 기준으로 탐색)

(해당 문자에 대해서는 추후에 더 자세히 다루겠습니다.)
\uxxxx 16진수 xxxx로 지정된 유니코드 문자 탐색