Life style/TIL

[TIL] Javascript 정규식표현, replace, substring

jaewpark 2022. 5. 9. 15:33

javascript로 시작된 알고리즘으로 배운 정리

  1. 쓰지 않았던 정규식표현
  2. replace
  3. substring

 

let answer = str.replace(/[^0-9]/g, "");

정규표현식 (참고) (참고2)

/ /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"