정규표현식

송인성·2021년 9월 22일
0

참고:
https://zvon.org/

수업:
https://opentutorials.org/course/909/5142

^ (캐럿): ^who who로 시작되는 부분을 검출 할때 사용하게된다.

$ (달러): 소스의 끝에 위치하는 대상을 지목할때 사용한다.

\ (백틱): $ 특수한 목적을 같고, 기호뒤에 따라오는 문자를 정규표현식에서,
의미가 있는 문자가아니라, \다음에 오는 문자를 단순한 문자로 바꿔준다.
✅ 추가 설명
예를 들어 ^$ 라고 하면 동작하지 않는다 그 이유는, ^$에서 캐럿(^)은 시작되는 부분을 검출할때 사용하고 $는 소스의 끝에 위치하는 대상을 지목할때 사용하는데 서로 특수하게 사용되는것임으로 동작하지 않게된다.이렇때 쓰는게 \이다.
즉, \a라고 한다면 문자 a를 의미하게된다.
즉, \^를 하면 ^의 원래의미였던 문자열의 시작을 의미하는게 아니라 문자열자체 ^를 의미하게된다.

.(포인트): .포인트는 어떠한 문자와 공백에 상관없이 모든 문자를 의미하게된다.
✅ 추가설명
예를 들어 .... 4개의 포인트라면 어떠한 문자와 공백에 상관없이 4개의 문자를 가르키게된다.

: [oyu]라고 한다면 문자열에서 o || y || u 중에하나에 해당하는것을 찾아준다.[]안에 있는것은 하나의 문자를 의미한다. 즉 띄어쓰기 전의 하나의 문자를 의미한다.
[-]: [c-k]->알파벳 c부터 k까지를 포함하겠다라는 의미이다.
[a-c] === [abc]와 일치한다.

[^ABC] = 위에서 ^(캐럿)은 ^ABC라고 하면 앞의문자에 ABC가 있다면 해당하는 것을 포함한다는 뜻이지만 [^ABC]가 있다면 이것은 부정의 의미이다.
앞의 문자 ABC를 포함하지 않는다는 뜻이다.

() : 서브패턴
(on|wow)
on또는 wow문자를 포함한다는 뜻이다.

수량자 : 어떠한 패턴이 얼만큼 등장하는가?에 대해서 찾는것이다. 3개가 있다.
-*
-+
-?

ab라고 한다면,
a
는 a가 있을수도 없을수도 있고 있다고했을때 여러개일수도 있다는 것이다.

a+b
+는 하나에서 여러개를 의미한다 하나도 없는것은 +에 해당하지 않는다.

a?b
b앞에 a가 없을수도 있고 있다면 한개까지만 찾는다는 말이다.
?는 없거나 하나일때를 의미한다.

profile
코드 한줄에 의미를 생각할 수 있는 개발자가 되어 가는중... 🧑🏻‍💻

0개의 댓글