맨날 구글링하기 귀찮아서 포스팅 🎯
정규표현식 테스트 사이트 참고하면서 작성
📚 정규표현식(Regular Expression)
규칙을 슬래시 '/ ' 로 감싸 사용
컴퓨터에게 '/ ' 사이에 있는 문자열 찾고싶다고 명령 내리는 것
📗 내장 RegExp 객체 메소드
exec
execution의 줄임말로 원하는 정보 뽑아내고자 할 때 사용
찾고자하는 문자열에 정보가 있다면 배열로 반환, 없으면 null로 반환
let reg = /c/;
reg.exec('code'); // expect \[ 'c', index: 0, input: 'code', groups: undefined \]
test
찾고자 하는 문자열이 대상에 있는지 boolean 으로 리턴
let reg = /c/;
reg.test('code'); // true
reg.test('asd'); // false
📗 String 객체 메소드
match
RegExp.exec()와 비슷함 문법만 조금 다르다
let reg = /c/;
let str = 'code';
str.match(reg); // \[ 'c', index: 0, input: 'code', groups: undefined \]
replace
검색 후 바꾸기 수행
첫 번째 인자로 정규표현식, 두 번째 인자로 치환하려는 문자열 받음
let reg = /c/;
let str = 'code'
str.replace(reg, 'C')
✅ 아무 옵션 넣지 않으면 첫번째로 매치된 문자열만 변환됨 g 옵션 주면 전부 다 변경 가능
split
주어진 인자 구분자로 문자열을 문자열로 나누고 그 결과를 배열로 반환
let phone = '010-1234-5678';
phone.split('-'); // \["010", "1234", "5678"\]
search
가장 처음 매칭되는 문자열의 위치 반환 (대소문자 구분하니 주의)
없으면 -1 반환
"JavaScript".search(/script/); // -1 대소문자를 구분합니다
"JavaScript".search(/Script/); // 4
📗 flag 옵션
1. i : 대소문자 구분하지 않도록
2. g : 검색된 모든 결과 리턴
3. m : 다중행을 검색
m 옵션은 애매해서 예시 하나 추가
let str = `1st : cool 2nd : code 3rd : edoc`;
str.match(/c/gm)
// 3개의 행을 검색하여 모든 c 를 반환합니다.
// \['c', 'c'\]
str.match(/c/m)
// m은 다중행을 검색하게 해 주지만, g 를 빼고 검색하면 검색 대상을 찾는 순간 검색을 멈추기 때문에
// 첫 행의 \['c'\] 만 리턴합니다.
📗 정규식 패턴
1. ^ : 찾는 문자로 시작하는 단어를 찾는 기호
2. $ : 찾는 문자로 끝나는 단어를 찾는 기호
'Javascript' 카테고리의 다른 글
[JavaScript] var, let, const 자세하게 비교하기 (0) | 2023.03.06 |
---|---|
[Javascript] this : 호출한 객체 (0) | 2023.01.31 |
[JavaScript] 스코프 : 식별자의 유효범위 (0) | 2023.01.27 |
자바스크립트에서 비동기 프로그래밍 (추가 작성중) (0) | 2022.12.17 |