텍스트에서 필요한 형태의 패턴을 찾을 때 사용이 된다.
Email, Pw의 유효성 검사에서도 사용된다.
slash를 이용하여 정규표현식을 나타내고 그 안에 패턴을 적고 flag를 이용한 옵션을 준다.
/regex?/i
| : 또는
() : 그룹
[]: 문자셋, 괄호안의 어떤 문자 든
[^]: 부정 문자셋, 괄호안의 어떤 문자가 아닐 때
(?:) 찾지만 기억하지는 않음 -> 쓰면 그룹이 지정되는게 풀린다
1.1 그룹을 이용한 찾는 방식
1.2 (?:)를 이용한 방식
1.3 부정문자셋과 대괄호 사용
-> a~z와 A-Z와 0~9에 해당하는 것을 제외한 모든 것을 찾게됨.
2.Quantifiers
?: 없거나 있거나
*: 없거나 있거나 많거나
{n}: n번 반복
{min, }: 최소
{min,max}: 최소, 그리고 최대
2.1 ?를 사용
-> a 다음 y가 존재하거나 존재하지 않거나의 케이스를 찾아 줌
2.2 {min, max?} 활용
-> gra다음 최소 두가지 최대 3가지가 나오고 y가 들어가는 케이스에 대해 찾음
\b: 단어경계
\B: 단어경계가 아님
^: 문장의 시작
$: 문장의 끝
3.1 $를 활용
-> 문장의 끝에 해당하는 Ya를 검색하게 됨.
\:특수문자가 아닌 문자
. 어떤 글자(줄바꿈 문자 제외)
\d: digit 숫자
\w: word 문자
\s: space공백
\S: space공백 아님
4.1 특수문자 '[]'를 찾기위해 '\' 를 활용하는 방법
5.1 혼자시도
휴대폰 번호라서 010 은 박아놓고 들어올 케이스들이 -, ,.뿐이어서 그냥 수량으로 해결했다 ..
-> 가장 쉬운 것 부터 접근하라고 하셨다
1. \d\d\d-\d\d\d-\d\d\d\d 2. \d{2,3}-\d{3}-\d{4} 3. \d{2,3}[- .]\d{3}[- .]\d{4}
5.2 이메일 찾기
5.2.1 혼자시도
최소값만 지정해주고 다 붙여버렸다.
실제로는 이렇게 쓰면 큰일날듯 ㅎㅅㅎ..
5.2.2 쉽게쉽게 .. + 를 활용하기
6.youtube에서 특정 id값만 찾아내기
?:를 활용하여 제외케이스를 만들어서 그룹에서 제외하기
const numb = (x) => {
let regEx = /\B(?=(\d{3})+(?!\d))/g;
let madeString = String(x).replace(regEx,",");
return madeString;
}
console.log(numb(1000));
- 연습용 사이트
regexone