Life style/TIL
[TIL] Javascript 정규식표현, replace, substring
jaewpark
2022. 5. 9. 15:33
javascript로 시작된 알고리즘으로 배운 정리
- 쓰지 않았던 정규식표현
- replace
- substring
let answer = str.replace(/[^0-9]/g, "");
/ /g : 전역탐색
^0 : 문자열의 시작을 표현, 0 문자로 시작됨을 의미
[0-9] : range를 표현하며 0 ~ 9 까지의 문자를 의미
[^0-9] : 0 - 9까지의 문자가 아닌 나머지 문자에 일치(부정)
이메일 - /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i
'시작을' 0~9 사이 숫자 or a-z A-Z 알바펫 아무거나로 시작하고 / 중간에 - _ . 같은 문자가 있을수도 있고 없을수도 있으며 /
그 후에 0~9 사이 숫자 or a-z A-Z 알바펫중 하나의 문자가 없거나 연달아 나올수 있으며 / @ 가 반드시 존재하고 /
0-9a-zA-Z 여기서 하나가 있고 / 중간에 - _ . 같은 문자가 있을수도 있고 없을수도 있으며 / 그 후에 0~9 사이 숫자 or a-z A-Z 알바펫중 하나의
문자가 없거나 연달아 나올수 있으며 / 반드시 . 이 존재하고 / [a-zA-Z] 의 문자가 2개나 3개가 존재 / 이 모든것은 대소문자 구분안함
출처: https://hamait.tistory.com/342
replace (참고)
var newStr = str.replace(regexp|substr, newSubstr|function)
regexp : 정규식(RegExp) 객체 또는 리터럴. 일치하는 항목은 newSubStr 또는 지정된 function이 반환 값으로 대체
substr : newSubStr로 대체 될 String
newSubstr : 첫번째 파라미터를 대신할 문자열
function : regexp 또는 substr에 일치하는 요소를 대체하는데 사용될 새 하위 문자열을 생성하기 위해 호출되는 함수
어떤 패턴에 일치하는 일부 또는 모든 부분이 교체된 새로운 문자열을 반환
var re = /apples/gi;
var str = 'Apples are round, and apples are juicy.';
var newstr = str.replace(re, 'oranges');
console.log(newstr); // oranges are round, and oranges are juicy.
substring (참고)
str.substring(indexStart[, indexEnd])
indexStart : 반환문자열의 시작 인덱스
indexEnd : (옵션) 반환문자열의 마지막 인덱스
기존 문자열의 부분 문자열을 반환
const str = 'Mozilla';
console.log(str.substring(1, 3));
// expected output: "oz"
console.log(str.substring(2));
// expected output: "zilla"