자바스크립트 정규식의 옵션 가운데 대표적인 것으로 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
번호 제목 글쓴이 날짜 조회 수sort
29 정규표현식 009. 메타문자 4 머니북 2012-01-10 6636
28 정규표현식 003. 맛보기 울트라 수퍼 심화 단계 마라톤맨 2012-01-04 6698
27 정규표현식 005. 근데 어디다 쓰는 것인고? 마라톤맨 2012-01-06 6790
26 정규표현식 002. 맛보기 심화 단계 마라톤맨 2012-01-03 6808
25 정규표현식 004. 정규표현식이란? 마라톤맨 2012-01-05 7549
24 정규표현식 008. 메타문자 3 머니북 2012-01-09 7729
23 정규표현식 001. 맛보기 마라톤맨 2012-01-02 8406
22 정규표현식 017. 하위 표현식 2 마라톤맨 2012-01-27 8502
21 정규표현식 006. 메타문자 1 마라톤맨 2012-01-07 9110
20 정규표현식 013. 검색할 위치 2 마라톤맨 2012-01-16 9140
19 정규표현식 015. 최대 매치와 최소 매치 2 마라톤맨 2012-01-20 9254
18 정규표현식 028. 자바스크립트의 정규식 4 마라톤맨 2012-03-09 9303
» 정규표현식 027. 자바스크립트의 정규식 3 마라톤맨 2012-03-02 9485
16 정규표현식 012. 검색할 위치 1 마라톤맨 2012-01-13 9553
15 정규표현식 018. 하위 표현식 3 마라톤맨 2012-01-30 10179
14 정규표현식 024. 숙제와 답 마라톤맨 2012-02-17 10229
13 정규표현식 016. 하위 표현식 1 마라톤맨 2012-01-25 10353
12 정규표현식 020. IP 주소 유효성 검사 2 마라톤맨 2012-02-06 10909
11 정규표현식 026. 자바스크립트의 정규식 2 마라톤맨 2012-02-27 11218
10 정규표현식 007. 메타문자 2 마라톤맨 2012-01-08 12502