🧩

9. 정규표현식

Computer Science는 어렵다. 그 중 에서도 정규표현식이 가장 어렵다.
라는 말이 있을 정도로 정규표현식은 어렵습니다. 이것을 왜 배워야 하는지, 어떻게 활용하는지 한 번 알아봅시다.
 
<!DOCTYPE html> <html> <head> <title>정규표현식</title> </head> <body> <script> let s = '010100020201020304812123'; document.write(s.replace(/[^(1-9)]/gi,"")); // 특정문자 제거 : s.replace(/\-/g,''); // 앞뒤 공백 제거 : s.replace(/^\s+|\s+$/g,''); // 문자열 내의 공백 제거 : s.replace(/\s/g,''); // 개행 제거 : s.replace(/\n/g,''); /* - `^` : 문자열의 시작 - `$` : 문자열의 종료. 옵션에 따라 문장의 끝 또는 문서의 끝에 매치된다. - `.` : 임의의 한 문자 - `[]`: 문자 클래스. 문자 클래스 안에 들어가 있는 문자는 그 바깥에서 하나의 문자로 취급된다. - `^` : 문자 클래스 내에서 ^는 not - `-` : ex) a-z는 a에서 z까지의 문자 - `|` : or를 나타냄 - `?` : 앞 문자가 없거나 하나 있음 - `+` : 앞 문자가 하나 이상임 - `*` : 앞 문자가 0개 이상임 - `{n,m}` : 앞 문자가 `n`개 이상 `m`개 이하. `{0,1}` 은 `?`와 같은 의미다. - `{n,}` : 앞 문자가 `n`개 이상. 위의 형태에서 `m`이 생략된 형태이다. `{0,}` 이면 `*`와 같고 `{1,}` 이면 `+`와 같은 의미이다. - `{n}` : 앞 문자가 정확히 `n`개. `{n,n}` 과 같은 의미이다. - `()` : 하나의 패턴구분자 안에 서브 패턴을 지정해서 사용할 경우 괄호로 묶어주는 방식을 사용한다. - `\s` : 공백문자 - `\b` : 문자와 공백 사이를 의미한다. - `\d` : 숫자 [0-9]와 같다. - `\t` : 탭문자 - `\w` : 단어 영문자+숫자+_(밑줄) [0-9a-zA-Z_]문자 이스케이프는 대문자로 적으면 반대를 의미한다. [a-z] : a ~ z 사이의 문자를 찾음 [1-9] : 1 ~ 9 사이의 문자를 찾음 [abc] : a, b, c중 하나를 찾음 [^abc] : a, b, c를 제외한 문자를 찾음 .z : 아무 문자 하나를 . 기호로 찾으며 z로 끝남을 의미 a+ : a가 1개 이상을 의미함 a* : a가 0개 또는 그 이상을 의미함 s : 공백 문자를 찾음(스페이스, 탭 등), 대문자의 경우 아닌 문자를 찾음 d : 숫자를 찾음, 대문자의 경우 아닌 문자를 찾음 w : 알파벳 영문과 숫자와 언더바 _ 기호를 찾음, 대문자의 경우 아닌 문자를 찾음 t : 탭 공간을 찾음 g : 검색범위를 전역으로 확장 i : 대소문자를 구분하지 않음 gi : 검색 범위를 전역으로 확대하면서 대소문자를 구분하지 않음 m : 여러줄을 동시에 매칭함 */ </script> </body> </html>