let extractStr = "Extract the word 'coding' from this string.";
let codingRegex = /coding/;
let result = extractStr.match(codingRegex);
extractStr에서
codingRegex의 값인 coding이 있는지 검사해서 있으면 결과값으로 전달한다.
result 의 값은 coding 이다.
그렇다면,
문장에 같은 문자열이 반복적으로 들어있는 경우는 어떻게 추출할까
위에 처럼 그냥 쓸 경우에는 첫번째 요소만 반환된다.
그러므로 g 를 써줘서 반복되는 모든 요소들을 반환하도록 한다.
let twinkleStar = "Twinkle, twinkle, twinkle, little star";
let starRegex = /twinkle/g;
let result = twinkleStar.match(starRegex);
이때 result는 twinkle, twinkle 이 된다.
그렇다면
2019/05/15 - [javascript] - [자바스크립트 정규식] 정규식 작성하기1 - 문자열이 특정문자를 포함 하는지 검사
에서 사용했던 i 를 함께 써본다면
대소문자구분없이(i), 반복되는 요소 모두 추출(g)을 한다면
let twinkleStar = "Twinkle, twinkle, twinkle, little star";
let starRegex = /twinkle/gi;
let result = twinkleStar.match(starRegex);
result 는 Twinkle,twinkle,twinkle 가 된다.
let quoteSample = "Beware of bugs in the above code; I have only proved it correct, not tried it.";
let vowelRegex = /b[aiu]g/;
let result = quoteSample.match(vowelRegex);
b[aiu]g
b로 시작하고 g로 끝나는 3글자, 가운데 글자는 a,i,u중 하나
즉 bag, big, bug가 해당된다..
위의 result는 bug로
quoteSample의 bugs에 있는 bug가 추출된다.
let quoteSample = "Beware of bugs in the above code; I have only proved it correct, not tried it.";
let vowelRegex = /b.g/;
let result = quoteSample.match(vowelRegex);
가운데 문자가 뭐든 상관 없다면 .을 써준다. 결과는 동일하다. (단 점은 1개의 문자와 매칭된다..)
let quoteSample = "The quick brown fox jumps over the lazy dog.";
let alphabetRegex = /[a-z]/gi;
let result = quoteSample.match(alphabetRegex);
a부터까지 z까지 대소문자상관없이 -> 즉 알파벳모두 + g(중복결과 모두 추출) i (대소문자 구분없이)
결과는
T,h,e,q,u,i,c,k,b,r,o,w,n,f,o,x,j,u,m,p,s,o,v,e,r,t,h,e,l,a,z,y,d,o,g
let quoteSample = "Blueberry 3.141592653s are delicious.";
let myRegex = /[a-z0-9]/gi;
let result = quoteSample.match(myRegex);
a-z 0-9 알파벳 숫자 모두 + g(중복결과 모두 추출) i (대소문자 구분없이)
결과는
B,l,u,e,b,e,r,r,y,3,1,4,1,5,9,2,6,5,3,s,a,r,e,d,e,l,i,c,i,o,u,s
g를 생략한다면 결과는
B만 추출될 것이고,
g와 i를 모두 생략하면 결과는
l이 추출될 것이다. (B는 대문자이기 때문에 a-z에 포함되지 않는다.)
'javascript > javascript' 카테고리의 다른 글
[자바스크립트 정규표현식] 작성하기6 - 뒤에오는 문자검사 (0) | 2019.05.17 |
---|---|
[자바스크립트 정규표현식] 작성하기5 - 띄어쓰기, 탭 등등... (0) | 2019.05.17 |
[자바스크립트 정규표현식] 작성하기4 - 간편하게 작성하기 (0) | 2019.05.17 |
[자바스크립트 정규표현식] 작성하기3 - 기호 이용하기 (406) | 2019.05.16 |
[자바스크립트 정규표현식] 작성하기1 - 문자열이 특정문자를 포함 하는지 검사 (413) | 2019.05.15 |
댓글