생활코딩 regex 정규표현식의 패턴들 3~4) 위치와 이스케이핑 > 정규식

정규표현식

정규표현식(regex) 강좌 공유

생활코딩 regex | 정규표현식의 패턴들 3~4) 위치와 이스케이핑

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩 regex님의 정규식강의 청각장애인을 위한 자막
15616033608231.jpg

 



이번 시간에 살펴볼 것은 여러분이 찾고자하는 문자열의 위치를
지정하는 방법인데요. 보통 캐러시라고 부르는데요.
이 숫자 6번 키위의 있는 특수키입니다.
특수 기호를 사용하게 되면 어떻게 되는지 한번 보죠.
예를 들어서 여러분이 이 소스가
여러분이 정규 표현식에 패턴을
 캐러시 앞에 오고 그 다음에 후라고 했을때 소스에는 현재
2개의 후가 등장하고 있습니다. 그 중에서 이 뒤에 있는 후는 선택이
안되고요.
앞에 있는 후만 선택된 이유는 바로 케러시때문입니다.
캐러시 등장하게 되면 뒤에 나오는
문자가  캐럿 위에 나오는 패턴이
소스 상에서 시작 위치에 있을 때 캐러시 사용이 됩니다.
다시 말해서 여러분이 캐럿후 라고 하게 되면 소스 상에서
시작되는 부분이후 부터 후로 시작되는
소스를 검출할 때 사용하는 것이 바로 캐러시라고 하는 특수한
기호이고요. 반대로, 빨러라고 하는 기호는
그 소스에 끝에 위치하는
대상을 지목할 때 사용하는 겁니다. 즉, 후 뒤에
떨어가 오게 되면 후로 끝나는
텍스트를 의미하게 된다는 것이죠. 우리가 3페이지에서 뭘보았냐면
캐럿 달러라고 하는 기호를 이용해서
여러분이 찾고자 하는 문자열의 위치를 지정하는 방법에 대해서 저번시간에
살펴 봤죠.
이번 페이지에서는 바로 달러만 와 캐러시라고 하는 문자가 소스에
포함되어 있다면 어떻게 해야 되는가라고 하는 겁니다. 말보다 예제가
훨씬 더 쉬울 겁니다. 여기 소스는 요렇게 생겼습니다.
달러가 이렇게 들어가 있죠? 그런데 우리가 앞에서 달러라고 하는 것은 이
패턴 상에서 정규 표식 패턴 상에서 문자열이 끝나는 위치를 

지정하는 이 특수한 기호였습니다.
근데 소스 상에는 바로 그 달러가 등장하고 있다는 겁니다. 그런
경우에 어떻게 되는지 한번 살펴보죠.
소스가 이렇게 생겼을 때 여러분이 캐럿타고서 달러를 한다면
요것은 어떤 의미가 되냐? 
일단 의도 여기 있는 예제 의도는 뭐냐면 달러로 달러라는 문자로
시작되는 텍스트를 찾겠다라는 뜻이고,
아마 요것을 예상하고 만든 예제일 겁니다.
그런데 여기에 작동하지 않는 이유는 뭘까요? 작동하지 않는 이유는
요? 뒤에 있는 달러 1억달러가 바로 문자열의 끝을 

의미하는 특수한 기호이기 때문입니다.
그럼 어떻게 하면 문자의 포함되어 있는 달러를 여러분이
선택할 수 있을까라고 하는 것이 우리가 갖게 되는 의문의 포인트라고 할
수가 있습니다.
이렇게 하시면 됩니다. 앞에다가 역슬레시 빽/ 그리고 위치는
엔터와 백스페이스 사이에 있는 요렇게 생긴 원화 표시되어 있는 요거 있죠?
요게 이제 x대신데 한글 키보드의 선 원화 표시로 표시가 되는
겁니다.  백 슬래시를 입력하고 달러를 하게 되면, 백슬러시
라고 하는 것은 아주 특수한 목적을 갖고 있는 기호 있네요.
기억하는 역할은 뭐냐면 그 기호 뒤에 따라오는
문자를 정규표현식에서 의미가 있는 문자가 아니라 정규표현식에서 의미가 있는
어떤 문법적인 요소가 아니라 단순한 문자로 바꿔주는 역할을 하는 것이
바로 백스페이스의 역할입니다.
그래서 백스페이스 달러를 하게 되면 이것은 문자열의 마지막에
문자를 마지막을 의미하는 달러가 아니라 문자 달러가 되는 겁니다.
그리고 역시 / 이렇게 캐럿을 하게 되면 이것은
 캐럿을 그 문자열의 시작을 의미하는 캐러시 아니라 그냥 문자가
캐럿이 된다라는 것이죠.
만약에 역시 /가 포함되어 있는 부분을 알고 온 뒤에서 살펴 볼 거
같네요.
그렇게 되는거구요. 그 다음에 우리가 처음에 하고자 했었던
예제 실패 했었잖아요.
그거를 어떻게 하면 성공할 수 있는가라고 하는 것이 이것인데요?
보시는 것처럼 캐럿이 나왔구요.
그리고 역시 /그 다음에 달러를 썼습니다.
이렇게 된거죠.
자 이렇게 되면 문자열의 시작을 나타내는 것이구요.

시작 부분에 등장하는 x필스 백팩 백 슬래시가 오고

 달러가 되니까 문자다 달러를 의미하게 되면서, 아까와는 다르게
이렇게 달러 표시가 강조 표시된 것을 볼 수가 있죠.
이러한 것을 뭐라고 하냐면 이스케이프 라고 합니다. escape
그래서 여기 있는 역슬레시에 시 200 /를 여러분들이 쓰는 걸
통해서 백 슬래시 뒤에 있는 문자를
그 코드 상에서 어떤 역할이 있는 역할이 있었던 거잖아요. 달러같은
경우는 문자열의 끝을 의미하는 역할이 있었던 건데 그 역할로 부터 탈출
시켜준다.
그렇게 생각합시다. 이스케이프라고 하는 것은 그래서 그 역할을
해제하고 달러라고 하는 것을 단순히 문자로 하는 역할을 하는 것이 

바로 그런 역할을 이스케이프 라고 한다는 겁니다
그러면 케이스 포같은 경우는 어떻게 돼 있는지 함 볼까요?
보시는 것처럼 이렇게 역시 /달러면 문자다 달러이고
그리고 다음에 온 달러는 그냥 달러이기 때문에
문자열의 끝을 의미하는 달러입니다.
그러면 여기있는 소스에서 누가 선택이 되어야 될까요?
바로 이놈이 선택이 되어야 되겠죠? 요거는 문자열 달러인데
그리고 문자열 끝에 위치하고 있기 때문에 요놈이 선택이 되는 겁니다.

댓글 0개

등록된 댓글이 없습니다.

Total 9건 1 페이지

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu