-
[정규표현식]알아보기(2)기타 2021. 5. 26. 16:08반응형
어떤상황에서 쓰이는지 는 저번글에 알아봤고 오늘은 정규표현식 안에서 쓰이는 기$호들의 의미를 체크해보자
표현식 의미 예시 ^ 시작하는문자를 의미 ^x => x로 시작하는 문자 $ 종료할때 문자 x$ => x로 끝나는 문자 . 임이의 한 문자를 의미 ...x => 3글자 이후에 마지막은 x + 반복을 의미 x+ => x가 한번이상반복됨 ? 바로 앞에글자가 있을수도 없을수도 apples? => s?는 “s”가 있을 수도 있고, 없을 수도 있다는 의미로, “apple”, “apples” 모두에 매치된다. * 반복여부(0번 또는 그이상)를 나타낸다 n\d* : n 뒤에 숫자가 0개 이상이라는 의미. “n”, “n1”, “n123” 에 모두 매치된다. | 또는 을 의미한다. x|y => x또는 y 문자가 있는거를 의미한다. () 그룹을 의미한다. (tom|pot)ato : tomato, potato에 모두 매치되는 패턴을 그룹을 써서 좀 더 줄였다. (:?) 비캡처링 그룹을 의미한다. 특정한 수량 한정자등을 적용은 하려 하지만 최종 결과에서 따로 구분하여 사용할 필요가 없는 경우에 적용 메타문자에서 대문자와 소문자의 관계는 반대를 의미한다
\ 이후에 기호를 문자로 사용한다. \^ 여기서 ^는 다른의미는 없고 그냥 문자이다. \b 문자의 경계를 의미한다(.ex 공백, 컴마,탭,등등) \bplay\b => 단어 경계로 구분되는 “play”에는 매치한다. 하지만 “playground”의 “play”에는 매치하지 않는다. \B 문자와 공백사이가 아닌 문자를 의미한다. \bplay\B :=> “play”뒤에 단어의 경계가 아닌 것이 올 때에만 매치한다. “playground”, “playball”의 “play”에 매치한다. 뒤에 오는 “g”, “b” 등의 문자는 포함하지 않는다. \d 숫자를 의미 \D 숫자가 아닌것을 의미한다. \s 공백을 의미한다. \S 공백이 아닌것을 의미한다. \w 단어를 만들수 있는 글자를 의미한다. 알파벳 대소문자, 숫자, 언더스코어를 포함한다. [A-Za-z0-9_] 와 같다. \W 알파벳 + 숫자 + _ 가 아닌 문자를 의미한다. --
[] 문자하나를 의미한다. [xy]=>x나 y 중 하나의 글자를 의미함 [^] []안에서 ^ 는 not 을 의미한다. [^xy]=> x,y 를 제외한 문자하나 [-] range 를 의미한다. [a-z]=> a에서 z사이의 문자열하나 {n} n개의 반복을 의미한다. n\d{2}$ => “n”뒤에 숫자가 2개 있다. “n12” 에 매치되지만, “n”, “n1”, “n123″에는 매치되지 않는다. n\d{2}라고 했을 때에 “n123″에서는 n12까지만 매치하고 3은 제외한다. {n,m} n개 이상 m개 이하의 반복을 의미한다. m은 생략시에 n개 이상만을 의미한다
n\d{2, 3}$ => “n12” , “n123″에는 매치되지만 “n1″이나 “n1234″에는 매치되지 않는다.위처럼 패턴을 지정하는거 말고 플래그라는 개념도 있다.
regexp = /pattern/; // 플래그가 없음
regexp = /pattern/gmi; // 플래그 g, m, i가 있음
플래그 의미 g 글로벌의 의미하며 문자열내의 패턴에 일치하는 모든요소를 찾는다. i ignore 를 의미하며 대소문자를 구별하지 않는다. m 대상 문자열이 다중 라인의 문자열인 경우에 사용한다. 사용하면서 예시를 추가 해보자!
'기타' 카테고리의 다른 글
interceptor in <axios> //// axios setting (0) 2021.06.15 [redux] 리덕스 타입스크립트랑 같이 써보기 (0) 2021.05.28 [프로그래밍] 순수함수 (0) 2021.05.23 [cs] url 입력시 일어나는 일 (0) 2021.05.18 [정규표현식] 알아보기(1) (0) 2021.05.12