자바스크립트 정규식의 옵션 가운데 대표적인 것으로 3가지가 있습니다. i, g, m이 그것입니다.


옵션 

기능

 i

 대소문자 구분을 안 합니다. 이 옵션이 생략되면 구분합니다. , 대소문자 구분이 디폴트입니다.

 g

 검색하고자 하는 문자나 문자열이 여럿 있는 경우 모두 검색합니다. 검색 결과는 배열에 담겨져서 리턴됩니다. 이 옵션이 생략되면 첫 번째로 발견되는 하나만 검색합니다. 이게 디폴트입니다.

 m

 여러 줄에 걸쳐져 있는(줄바꿈 문자에 의해서 줄이 바뀌어져 있는) 문자열을 대상으로 검색합니다. 이 옵션이 생략되면 첫 번째 줄만 대상으로 검색합니다.


이들 옵션을 지정하는 방법은 두 가지입니다. 역시 메써드에 따라 다릅니다. 으으윽~ 왜 이처럼 괴상하게 설계한 것인지... 우선 정규식 패턴 뒤에 붙이는 방법부터 알아봅니다. 이때는 패턴의 뒤 슬래시 뒤에 붙입니다. 예제를 보시죠.


<script>

s = '123abc4';


if (/B/.test(s))

document.write('성공<br>');

else

document.write('실패<br>');

</script>


위 코드를 실행하면 실패라고 나옵니다. 주어진 문자열에는 소문자만 있는데 대문자로 검색했으니까요. 이번엔 아래와 같이 변경합니다.


<script>

s = '123abc4';


if (/B/i.test(s))

document.write('성공<br>');

else

document.write('실패<br>');

</script>


정규식 패턴의 뒤 슬래시 다음에 i를 붙였습니다. 이번엔 당연히 성공이라고 나옵니다. 다만 test 메써드는 g 옵션이 먹지 않습니다. 아니, 먹지 않는다기보다는 의미가 없습니다. 하나라도 매치되면 성공으로 판단하자는 것이니까요. g 옵션의 기능을 보려면 다른 메써드를 써야 합니다. 다음은 그 예입니다.


<script>

var s = '123abc456abc';

var res = s.match(/b/g);


document.write(res);

</script>


위의 예제를 실행해서 웹브라우저에 ‘b,b’라고 찍히면 성공입니다. m 옵션에 대한 것은 다음 회로 미룹니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
29 정규표현식 029. 자바스크립트의 정규식 5 마라톤맨 2012-03-28 19667
28 정규표현식 028. 자바스크립트의 정규식 4 마라톤맨 2012-03-09 10646
» 정규표현식 027. 자바스크립트의 정규식 3 마라톤맨 2012-03-02 10756
26 정규표현식 026. 자바스크립트의 정규식 2 마라톤맨 2012-02-27 12576
25 정규표현식 025. 자바스크립트의 정규식 1 마라톤맨 2012-02-22 33228
24 정규표현식 024. 숙제와 답 마라톤맨 2012-02-17 11516
23 정규표현식 023. 정규식의 옵션과 여러 정규식 엔진들 마라톤맨 2012-02-15 73581
22 정규표현식 022. 드라이브명과 디렉토리, 파일명 분리 2 마라톤맨 2012-02-13 26631
21 정규표현식 021. 드라이브명과 디렉토리, 파일명 분리 1 마라톤맨 2012-02-08 15137
20 정규표현식 020. IP 주소 유효성 검사 2 마라톤맨 2012-02-06 12066
19 정규표현식 019. IP 주소 유효성 검사 1 마라톤맨 2012-02-02 103396
18 정규표현식 018. 하위 표현식 3 마라톤맨 2012-01-30 11517
17 정규표현식 017. 하위 표현식 2 마라톤맨 2012-01-27 9851
16 정규표현식 016. 하위 표현식 1 마라톤맨 2012-01-25 11583
15 정규표현식 015. 최대 매치와 최소 매치 2 마라톤맨 2012-01-20 10526
14 정규표현식 014. 최대 매치와 최소 매치 1 마라톤맨 2012-01-18 14096
13 정규표현식 013. 검색할 위치 2 마라톤맨 2012-01-16 10401
12 정규표현식 012. 검색할 위치 1 마라톤맨 2012-01-13 10736
11 정규표현식 011. 검색 문자 개수 지정하기 머니북 2012-01-12 23355
10 정규표현식 010. 웹 서버 설정에도 필요 머니북 2012-01-11 14828