기호(^)를 이용해 제외하고 추출하기 OR 문장의 시작부분이 일치하는지 검사하기
제외하고 추출하기
let quoteSample = "3 blind mice.";
let myRegex = /[^0-9 .]/gi;
let result = quoteSample.match(myRegex);
let myRegex = /[^0-9 .]/gi;
이 의미는 0부터9, (공백), .(점)을 제외한 문자 이때 ^는 [] 안에 있어야한다.
(g=해당문자전체 추출/ 없을경우 해당하는 맨 앞에 한글자만 추출함// i=대소문자상관없이추출)
result는 >>
b,l,i,n,d,m,i,c,e
문장의 시작부분이 일치하는지 검사하기
^기호가 []없이 사용된다면 시작부분이 일치되는지 검사한다.
let rickyAndCal = "Cal and Ricky both like racing.";
let calRegex = /^Cal/;
// Cal로 문장이 시작되는지
let result = calRegex.test(rickyAndCal);
let rickyAndCal = "Cal and Ricky both like racing.";
let calRegex = /^Cal/;
let result = calRegex.test(rickyAndCal);
result >>
true
만약
calRegex = /^Ricky/;
라면
result >>
false 가 된다.(문장의 시작부분이 아닌 중간에 들어가있으므로)
기호(+)를 이용해 연속되는 문자 추출하기
let difficultSpelling = "Mississippsi";
let myRegex = /s+/gi;
let result = difficultSpelling.match(myRegex);
let myRegex = /s+/gi; ==> s가 1번이상 반복되는 문자
result >>
ss,ss,s
기호(*)를 이용해 연속되는 문자 추출하기
let chewieQuote = "Aaaaaaaaaaaaaaaarrrgh!";
let chewieRegex = /Aa*/g;
let result = chewieQuote.match(chewieRegex);
let chewieRegex = /Aa*/g ==> A로시작하고 a가 0번이상 반복되는 문자
result >>
Aaaaaaaaaaaaaaaa
*과 +의 차이 |
|
Aa* |
Aa+ |
A도 매칭되고 Aa도 매칭되고 Aaa도 매칭되지만 |
A는 매칭되지 않고 Aa는 매칭되고 Aaa도 매칭된다. |
let chewieQuote = "Aaaaaaaaaaaaaaaarrrgh! A Aa";
let chewieRegex = /Aa*/g; // Change this line
let result = chewieQuote.match(chewieRegex);
let difficultSpelling = "Aaaaaaaaaaaaaaaarrrgh! A Aa";
let myRegex = /Aa+/g;
let result2 = difficultSpelling.match(myRegex);
기호($)를 이용해 문자의 끝 검사하기
let caboose = "The last car on a train is the caboose";
let lastRegex = /caboose$/;
let result = lastRegex.test(caboose);
let lastRegex = /caboose$/; ==> 검사하는 문장이 caboose로 끝나는지 검사
result >>
true
괄호 ({}) 사이에 숫자 넣어서 n번나타나는 문자 검사
let caboose = "The last caar on a traaain is the caaaboose";
let lastRegex = /a{2}/g;
let result = caboose.match(lastRegex);
a{2} == a가 2번나타나는 문자열
result >>
aa,aa,aa
caar의 aa
traaain의 aa
caaaboose의 aa와 대응되고
a 는 하나이기때문에 대응되지 않는다.
그렇다면 범위를 정해줄 수도 있다.
let caboose = "The last caar on a traaain is the caaaboose";
let lastRegex = /a{1,3}/g;
let result = caboose.match(lastRegex);
a가 1번이상 3번이하 연속되는 것을 찾는다
result >>
aa,a,aaa,aaa
범위를 무한정으로 지정할 수도 있다.
let caboose = "The last caar on a traaain is the caaaboose";
let lastRegex = /a{1,}/g;
let result = caboose.match(lastRegex);
이는 a가 1번이상 반복되는 모든 것을 찾는다.
기호(?)를 이용해 있는것과 없는것 모두 검사
let favWord = "favorite";
let favRegex = /favou?rite/;
let result = favRegex.test(favWord);
favou?rite 이는 u가 있을수도 있고 없을 수도 있다는 것과 같다
즉 favorite와 favourite 둘가 결과는 true가 나온다 .
'javascript > javascript' 카테고리의 다른 글
[자바스크립트 정규표현식] 작성하기6 - 뒤에오는 문자검사 (0) | 2019.05.17 |
---|---|
[자바스크립트 정규표현식] 작성하기5 - 띄어쓰기, 탭 등등... (0) | 2019.05.17 |
[자바스크립트 정규표현식] 작성하기4 - 간편하게 작성하기 (0) | 2019.05.17 |
[자바스크립트 정규표현식] 작성하기2 - 문자열에서 특정 문자를 추출 (408) | 2019.05.15 |
[자바스크립트 정규표현식] 작성하기1 - 문자열이 특정문자를 포함 하는지 검사 (413) | 2019.05.15 |
댓글