본문 바로가기

프로그래밍/스프링[Spring]

[javascript] 정규 표현식에 대한 설명



안녕하세요 오늘은 정규 표현식에 대해 알아보도록 하겠습니다.

 

정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다.

 

자바스크립트에서, 정규 표현식 또한 객체입니다.  

 

정규 표현식을 줄여 "정규식"이라고도 합니다.

 

정규식을 만드는 방법은 두 가지가 있습니다.

 

정규식 리터럴(슬래쉬"/"로 감싸는 패턴)을 사용하는 방법은 다음과 같습니다.

var regular_expression = /ab+c/;

 

다른 방법으로는,  RegExp 객체의 생성자 함수를 호출하는 방법도 있습니다

var regular_expression = new RegExp("ab+c");

 

정규식에서 사용되는 메서드는 다음과 같습니다.

Method

Description

exec

대응되는 문자열을 찾는 RegExp 메서드입니다. 정보를 가지고 있는 배열을 반환합니다. 대응되는 문자열을 찾지 못했다면 null을 반환합니다.

test

대응되는 문자열이 있는지 검사하는 RegExp 메소드 입니다. true 나 false를 반환합니다.

match

대응되는 문자열을 찾는 RegExp 메소드입니다. 정보를 가지고 있는 배열을 반환합니다. 대응되는 문자열을 찾지 못했다면 null을 반환합니다.

search

대응되는 문자열이 있는지 검사하는 String 메소드 입니다. 대응된 부분의 인덱스를 반환합니다. 대응되는 문자열을 찾지 못했다면 -1을 반환합니다.

replace

대응되는 문자열을 찾아 다른 문자열로 치환하는 String 메소드입니다.

split

정규식 혹은 문자열로 대상 문자열을 나누어 배열로 반환하는 String 메서드입니다.

 

다음은 플래그를 사용한 고급 검색 방법입니다.

 

플래그의 사용 방법은 다음과 같습니다.

var re = /pattern/flags;

 

혹은 다른 방법으로 아래와 같이 사용합니다.

var re = new RegExp("pattern", "flags");

 

정규식은 여섯 개의 플래그를 설정해줄 수 있으며, 이를 통해 전역 검색 또는 대소문자 구분 없는 검색을 수행할 수 있습니다.

 

이 플래그들은 각기 사용될 수도 있고 함께 사용될 수도 있고 순서에 구분이 없습니다.

 

Flag

Description

g

전역 검색

i

대소문자 구분 없는 검색

m

다중행(multi-line) 검색

s

. 에 개행 문자도 매칭(ES2018)

u

유니코드; 패턴을 유니코드 코드 포인트의 나열로 취급합니다.

y

"sticky" 검색을 수행. 문자열의 현재 위치부터 검색을 수행합니다. sticky (en-US) 문서를 확인하세요.

 

 

자 이렇게 오늘은 정규식에 대한 내용을 다뤄 보았습니다.

 

더 자세한 사항은 아래의 홈페이지를 참고하시기 바랍니다.

 

정규 표현식 - JavaScript | MDN

정규 표현식 정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다.  이 패턴들은 RegExp의 exec 메소드와 tes

developer.mozilla.org

감사합니다.