더 이상 고민하지 말고 바로 올바른 방향으로 나아가겠습니다. js 정규식 사용법에 대해 더 알고 싶다면 이 튜토리얼을 통해 알아보세요.
정의 및 용도
var patt1 = new RegExp("hello"); var patt2 = /world/ ;
테스트 방법
test() 메서드는 문자열에서 지정된 값을 검색합니다. 반환 값은 true 또는 false입니다.
var pat = /my/; var str = "this is my code..."; console.log(pat.test(str)); // true
실행 방법
exec() 메소드는 문자열에서 지정된 값을 검색합니다. 반환 값은 찾은 값입니다. 일치하는 항목이 없으면 null이 반환됩니다.
var pat = /hello/; console.log(pat.exec("oh hello world")); //返还hello
정규표현식
/패턴/속성
매개변수 속성은 선택적 문자열입니다. 공통 속성 "g" 및 "i"는 각각 전역 일치 및 대소문자 구분 일치를 지정하는 데 사용됩니다.
var str = "Visit Hunger"; var patt1 = /hunger/i; //不区分大小写 console.log(str.match(patt1)); //全局匹配 var str="hello hunger valley! I am hunger"; var patt1=/hunger/g; console.log(str.match(patt1)); //不区分大小写,全局匹配 var str="hello Hunger valley! I am hunger"; var patt1=/hunger/gi; console.log(str.match(patt1));
문자열 정규화
1. 검색
문자열 검색
var str="Visit W3School!"; console.log(str.search(/w3school/)); //-1 console.log(str.serach(/w3school/i)); // 6
2. 경기
문자열 매칭
var str="1 plus 2 equal 33"; console.log(str.match(/\d+/)); //[1] console.log(str.match(/\d+/g)); //[1,2,33]
3. 교체
문자열 교체
var str="Hello JI! oh I am hunger" console.log(str.replace(/Hunger/, "valley")); console.log(str.replace(/hunger/ig, "hunger"));
4.분할
문자열 분할
var str = "Hello Hunger , oh I am Hunger"; str.split(""); str.split(/\s+/);
정기 글쓰기
[abc] 대괄호 사이의 문자를 찾습니다.
var str="Is this all there is?"; var patt1=/[a-h]/g; console.log(str.match(patt1));
[^abc]는 대괄호 사이에 있지 않은 모든 문자를 찾습니다.
var str="hello jikexueyuan!"; var patt1=/[^jike]/g; console.log(str.match(patt1));
[0-9] 0부터 9까지의 숫자를 찾습니다.
[a-z] 소문자 a부터 소문자 z까지의 문자를 찾습니다.
[A-Z] 대문자 A부터 대문자 Z까지의 문자를 찾습니다.
[A-z] 대문자 A부터 소문자 z까지의 문자를 찾습니다.
[adgk] 주어진 세트 내에서 임의의 문자를 찾습니다.
[^adgk] 주어진 세트 밖의 문자를 찾습니다.
red|blue|green은 지정된 옵션을 찾습니다.
var str="hello hunger! How are you?"; var patt1=/hello|you/g; c onsole.log(str.match(patt1));
. 개행 문자와 줄 종결자를 제외한 단일 문자를 찾습니다.
var str="That's hot!"; var patt1=/h.t/g; document.write(str.match(patt1));
w 단어 문자(문자, 숫자, 밑줄)를 찾습니다.
var str="Give 100%!"; var patt1=/\w/g; document.write(str.match(patt1));
W 단어가 아닌 문자를 찾습니다.
var str="Give 100%!"; var patt1=/\W/g; document.write(str.match(patt1));
d 숫자를 찾습니다.
var str="Give 100%!"; var patt1=/\d/g; document.write(str.match(patt1));
D 숫자가 아닌 문자를 찾습니다.
var str="Give 100%!"; var patt1=/\D/g; document.write(str.match(patt1));
s 공백 문자(공백, 탭, 줄 바꿈, 캐리지 리턴)를 찾습니다.
var str="Is this all there is?"; var patt1=/\s/g; document.write(str.match(patt1));
S 공백이 아닌 문자를 찾습니다.
var str="Is this all there is?"; var patt1=/\S/g; document.write(str.match(patt1));
b는 단어 경계와 일치합니다.
/bm/은 "moon"의 'm'과 일치합니다.
/oob/는 'oo' 뒤의 'n'이 단어 문자이기 때문에 'moon'의 'oo'와 일치하지 않습니다.
/oonb/는 'oon'이 문자열 끝에 있고 뒤에 단어 문자가 오지 않기 때문에 'moon'의 'oon'과 일치합니다.
var str="Hello jikexueyuan"; var patt1=/\bjikexueyuan/g; document.write(str.match(patt1));
B는 단어가 아닌 경계와 일치합니다.
n 개행 문자를 찾습니다.
var str="Hello Hunger.\n be a FE."; var patt1=/\n/g; document.write(str.search(patt1));
n+는 n이 하나 이상 포함된 모든 문자열과 일치합니다.
var str="Hello HHunger! Hello World!"; var patt1=/H+/g; document.write(str.match(patt1)); var str="Hello Hunger! Hello World!"; var patt1=/\w+/g; document.write(str.match(patt1));
n*은 n이 0개 이상 포함된 모든 문자열과 일치합니다.
var str="Hellooo Hunger! Hello World!"; var patt1=/lo*/g; document.write(str.match(patt1))
n? n이 0개 또는 1개 포함된 모든 문자열과 일치합니다.
var str="1, 100 or 1000?"; var patt1=/10?/g; document.write(str.match(patt1));
n{X}는 n의 X 시퀀스를 포함하는 문자열과 일치합니다.
var str="100, 1000 or 10000?"; var patt1=/\d{4}/g; document.write(str.match(patt1));
n{X,Y}는 n의 X 또는 Y 시퀀스를 포함하는 문자열과 일치합니다.
var str="100, 1000 or 10000?"; var patt1=/\d{3,4}/g; document.write(str.match(patt1));
n{X,}는 최소한 X개의 n 시퀀스를 포함하는 문자열과 일치합니다.
var str="100, 1000 or 10000?"; var patt1=/\d{3,}/g; document.write(str.match(patt1));
n$은 n으로 끝나는 모든 문자열과 일치합니다.
var str="Is this his"; var patt1=/is$/g; document.write(str.match(patt1));
^n은 n으로 시작하는 모든 문자열과 일치합니다.
var str="Is this his"; var patt1=/^Is/g; document.write(str.match(patt1));
공통 정규규칙
한자: [u4e00-u9fa5]
휴대전화번호 : 1[0-9]{10}
이메일: (S)+[@]{1}(S)+[.]{1}(w)+