특정 패턴의 문자열을 찾기 위한 표현 방식
슬래시 안에 표현식을 넣는다 (예: /ab+c/ )
예시)
const text="안녕하세요 010-1234-5678 로 전화주세요"
/안/ : '안' 문자열을 하나만 찾기
/안/g : '안' 문자열을 모두 찾기
/[안4]/g : '안'또는 '4' 문자열을 모두 찾기
/[0-9]/g : 0과 9사이의 숫자 모두 찾기
(결과: [ '0', '1', '0', '1', '2', '3', '4', '5', '6', '7', '8' ])
/[^0-9]/g : 0과 9사이의 숫자가 아닌 것 모두 찾기
/[a-zA-Z]/g : 영어 알파벳 소문자,대문자를 모두 찾기
-를 사용해서 범위 지정 가능
a-zA-Z : 영어 대소문자
0-9 : 숫자
. : 모든 문자열
\d : 숫자
\D : 숫자가 아닌 것
\w : 영어 알파벳, 숫자, 언더바(_)
\W :\w가 아닌 것
\s : 공백
\S : 공백이 아닌 것
| : OR
[] : 대괄호 안에 있는 문자열 중 하나
[^문자열] : 대괄호 안에 있는 문자열을 제외한 것
^문자열 : 해당 문자열로 시작하는 것
문자열$ : 해당 문자열로 끝나는 것
*없거나 있거나
+: 최소 한개
?: 최대 한번
{n} n개
{min,} min개 이상
{min,max} min개 이상, max개 이하
g : 모두 찾기(global) ex: //g
i : 대소문자 구분 안함(ignore case)
m : 여러 행 문자열 검색(multi line)
const regex = /\d{3}-\d{4}-\d{4}/
regex.test('010-3333-333') //false
regex.test('010-1234-5678') //true
const text="안녕하세요 010-1234-5678 로 전화주세요"
const result=text.match(/\d{3}-\d{4}-\d{4}/)
result //[ '010-1234-5678', index: 6, input: '안녕하세요 010-1234-5678 로 전화주세요', groups: undefined ]
result[0] //'010-1234-5678'
result.index //6