정규표현식 (Regular Expression ) : 프로그래밍에서 사용하는 일종의 형식 언어. 주로 문자열(string) 관련 프로그래밍에 사용됨.
javascript 에서의 사용법
str.match(정규표현식) //정규표현식에 해당하는 문자 여부 찾기
str.replace(정규표현식, '교체할문구') //정규표현식에 해당하는 문자 교체
str.search(정규표현식) //정규표현식에 해당하는 문자가 몇번째 index에 있는지 찾기
/ 정규표현식 문법 /플래그
\w
: 문자(character), [0-9a-zA-Z_]와 같은 문법
\W
: \w가 아닌것
\d
: 숫자, [0-9]와 같음
\D
: /d가 아닌것
\s
: 공백문자
\n
: 개행문자
. (와일드카드)
: 모든 문자
[^]
: 해당 조건 문자 제외하고 매칭, [^abc] a랑b랑c는 모두 제외함
?
: 앞 문자가 있을 수도 없을 수도 있다
^ $
: 문자열의 처음과 끝을 의미 — /m과 같이써야함 (멀티라인)
+ *
(+) : 앞 문자가 1개 이상 있어야 매칭 a1 a12 a 에서 a는 매칭x
(*) : 앞 문자가 0개 이상 있으면 매칭 a1 a12 a 에서 a도 매칭
{n}
{n} : 앞 문자가 n개 이상있음
{n,m}, {n, } : 앞 문자가 n개 이상 (m개 이하)
()
처음에 문서를 봐도 이해를 못했는데 split()
시 나도 포함시켜줘! 이런의미로 우선 이해하기!
'#감성 #감성사진 좋다! #맞팔'.split(/#[^\s]+/g)
// (4) ["", " ", " 좋다! ", ""]
'#감성 #감성사진 좋다! #맞팔'.split(/(#[^\s]+)/g)
// (7) ["", "#감성", " ", "#감성사진", " 좋다! ", "#맞팔", ""]
탐색할문자(?=조건)
\d+(?=px)
-> 뒤에 px을 빼고 숫자만 가져옴
(?<=조건)탐색할문자
(?<=\$)\d+
-> 앞에 $를 빼고 숫자만 가져옴