
유튜브 드림코딩에 '정규표현식, 더이상 미루지 말자' 라는 제목으로 명치를 가격하기에 공부하게 되었다.
정규표현식 연습 사이트
| 또는
() 그룹
[] 문자셋, 괄호안의 어떤 문자든(대괄호 안의 문자 하나라도 일치할 시)
[^] 부정 문자셋, 괄호안의 어떤 문자가 아닐때
(?:) 찾지만 기억하지는 않음(그룹으로 만들지 않음)
? 앞의 문자가 없거나 있거나(a? a가 있거나 없거나)
* 없거나 있거나 많거나(a* a가 있거나 없거나 많거나)
+ 하나 또는 많이 (a+ a가 하나있거나 많거나 - 없을때는 매칭 안됌)
{n} n번 반복
{min,} 최소
{min,max} 최소, 그리고 최대
\b 단어경계(\bYa Ya로 시작하는지, Ya\b Ya로 끝나는지 )
\B 단어 경계가 아님(\BYa Ya로 시작하는거 제외하고, Ya\B Ya로 끝나는 거 제외하고 )
^ 문장의 시작
$ 문장의 끝
\ 특수문자가 아닌 문자
. 어떤 글자(줄바꿈 문자 제외)
\d digit 숫자
\D digit 숫자 아님
\w word 문자
\W word 문자 아님
\s space 공백
\S space 공백 아님
const regExp = /(?:https?:\/\/)?(?:www\.)?youtu.be\/([a-zA-Z0-9-]{11})/;
const url = 'http://www.youtu.be/-ZClicWm0zM';
url.match(regExp);
[
'http://www.youtu.be/-ZClicWm0zM',
'-ZClicWm0zM',
index: 0,
input: 'http://www.youtu.be/-ZClicWm0zM',
groups: undefined
]