[TIL]
TIL
Javascript 개념
정규 표현식
/regex?/
그룹 / 레인지
/(Hi|Hello)/gm;
Hi 아니면 Hello를 group1 으로 하나로 지정
/(Hi|Hello)|(And)/gm;
group1(Hi,Hello)이거나 group2(And)를 선택
/gr(e|a)y/gm;
grey 이거나 gray 찾음 (group 지정)
/gr(?:e|a)y/gm;
grey or gray 찾음 (group 지정 X)
* 위에 걸 총 망라하는 것이 바로 []
/gr[a-z]y/gm;
gray부터 grby, … , grzy까지 찾음
/[a-zA-Z0-9]/gm;
a to z / A to Z / 0 ~ 9인 것을 다 찾음
/[^a-zA-Z0-9]/gm;
a to z / A to Z / 0 ~ 9아닌 것을 다 찾음 ([] 안에서 ^은 not)
수량
/gra?y/gm;
a가 있거나 없거나 한 것을 찾음 (gray / gry)
/gra*y/gm;
a가 있거나 없거나 많거나 한 것을 찾음 (gray / gry / graay / graaay / graaa…aay )
/gra+y/gm;
a가 있거나 많거나 한 것을 찾음 (gray / graay / graaay) / gry는 찾지 않는다.
/gra{2,3}y/gm;
a가 최소 2개, 최대 3개 있는 것을 찾음 (graay / graaay)
{2}만 쓰면 항상 두 개 찾음 (graay)
{2,}만 쓰면 최소 두개 이상 찾음 (graay / graaay / graaaay …)
바운드리 타입 (단어 경계)
/\bYa/gm;
Ya인데 단어 앞에서 쓰이는 Ya를 찾음
/Ya\b/gm;
Ya인데 단어 뒤에 쓰이는 Ya를 찾음
/Ya\B/gm;
Ya인데 단어 뒤에 쓰이는 Ya가 아닌 Ya를 찾음
(이렇게 되면 만약에 \b를 쓴 것 중에는 Ya 라고만 되어 있는 문자열은 찾지만
\B을 쓰게 되면 Ya 만 있는 문자열은 찾지 않게 된다.)
/^Ya/gm;
문장에 시작된 Ya를 찾음
/Ya$/gm;
문장에 뒤에 붙어있는 Ya를 찾음
(하지만 m을 빼면 전체 문장에서 찾기 때문에 주의)
문자
/\[\]\{\}/gm;
[], {}와 같이 이렇게 특수 문자인 경우에는 백슬래시를 적용해야 찾을 수 있음
/\d/gm;
숫자를 전부 찾음
/\D/gm;
숫자가 아닌 전부를 찾음
/\w/gm;
word 즉 문자를 찾음
/\W/gm;
문자가 아닌 것을 모두 찾음
/\s/gm;
space를 찾음
/\S/gm;
space를 제외한 모든 것 찾음
댓글남기기