유튜브 드림코딩에 '정규표현식, 더이상 미루지 말자' 라는 제목으로 명치를 가격하기에 공부하게 되었다.
정규표현식 연습 사이트
|
또는
()
그룹
[]
문자셋, 괄호안의 어떤 문자든(대괄호 안의 문자 하나라도 일치할 시)
[^]
부정 문자셋, 괄호안의 어떤 문자가 아닐때
(?:)
찾지만 기억하지는 않음(그룹으로 만들지 않음)
?
앞의 문자가 없거나 있거나(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
]