일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- pythongui
- html
- 안드로이드
- pyqt5
- 엑셀
- python
- 파워포인트
- 파이썬
- 오피스
- Outlook
- 윈도우10
- 윈도우11
- office
- VBA
- 파이썬3
- 파이썬GUI
- git
- python3
- matlab
- pandas
- Android
- Excel
- 비주얼베이직
- Windows11
- win32com
- 아웃룩
- 문자열
- windows
- 깃
- Windows10
Appia의 IT세상
정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape) 본문
정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape)
Appia 2021. 1. 2. 07:26정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape)
앞선 포스팅에서는 정규 표현식[Regular expression,Regexp]의 의미, 테스트 할 수 있는 사이트에 대해서 서두에서 살펴봤습니다. 그 뿐 아니라, 정규 표현식[Regular expression,Regexp]의 기본 표현 방법에 대해서 예시와 함께 간단히 살펴봤습니다. 그래서 이번 포스팅에서는 이 부분에 추가로, 특정 위치에 따른 특정 문자의 선별을 살펴보면서, 이스케이프(escape)문자에 대해서 같이 한번 살펴보도록 하겠습니다.
이스케이프(escape)문자의 의미 및 예시
먼저 이스케이프(escape)문자에 대해서 간단히 살펴보겠습니다. 정규식을 활용하다보면, 특정한 의미를 가지면 특수 기호들을 살펴볼 수 있습니다. 오늘 위치에 대해서 언급하면성 이야기를 하겠지만, ^라는 기호는 문자의 시작 위치, 즉 문장의 시작위치를 이야기를 합니다. 따라서, 앞서 포스팅에서 활용했던 기본 문자 방법을 이용해서 다음과 같은 정규 표현식[Regular expression,Regexp]을 입력했다고 가정하겠습니다.
설정 텍스트 |
^-^ Hello Appia |
정규 표현식 |
^ |
실제 예상으로는 관련해서 매칭 텍스트가 2개가 표시되어야 한다고 생각하실 수 있습니다. 하지만, 실제 결과는 다음과 같이 아무런 매칭을 얻을 수 없습니다.
설정 텍스트 |
^-^ Hello Appia |
정규 표현식 |
^ |
매칭 텍스트 |
위의 적용된 부분은 보면, 다음 보이는 부분과 같이 매칭 되는 부분이 없다는 것을 알 수 있습니다.
이와 같이 특정 의미를 가지고 기호 즉, 메타 문자들을 텍스트 자체로 표현할 수 있게 해주는 기능을 하는 것을 이스케이프(escape) 문자라고 합니다. 이 이스케이프(escape)문자를 백 슬래시(\)로 볼 수 있습니다. 그럼 위의 부분을 이스케이프 문자를 사용해서 적용해보도록 하겠습니다.
설정 텍스트 |
^-^ Hello Appia |
정규 표현식 |
\^ |
매칭 텍스트 |
^-^ Hello Appia |
위에서 적용한 부분을 정규 표현식[Regular expression,Regexp] 테스트 할 수 있는 사이트에서 확인을 해보면 다음과 같은 결과를 확인할 수 있습니다.
이와 같은 이스케이프(escape)문자를 활용할 수 있습니다.
문자의 위치
정규식에서 사용하는 메타 문자 중에 다음과 문자열의 시작과 끝을 나타내는 문자가 있습니다. 다음 표에서 보이는 바와 같이 두가지로 볼 수 있습니다.
^ |
문자열의 시작 |
$ |
문자열의 끝 |
이와 같이 두가지 메타 문자을 가지고 문자의 위치를 표현할 수가 있습니다. 그럼 다음이 적용된 예시를 한번 살펴보겠습니다.
1) 문자열의 시작
먼저, 위의 메타 문자 중에 문자열의 시작을 나타내는 부분을 바탕으로 적용해보도록 하겠습니다.
^문자열 |
위와 같은 형태로 사용할 수 있습니다. 문장의 시작에 위에서 언급된 문자열이 포함된 글자만 매칭 하는 것입니다. 그럼 다음 예시를 살펴보겠습니다.
설정 텍스트 |
Hello Appia Hello |
정규 표현식 |
^Hello |
매칭 텍스트 |
Hello Appia Hello |
그럼 이 부분을 텍스트 사이트에서 다시 한번 적용해보도록 하겠습니다.
위에서 보이는 바와 같이 Hello는 시작과 끝에 각각 존재합니다. 하지만, 관련해서 ^로 인하여 시작 위치에 존재하는 Hello만 매칭이 됩니다. 물론, 문자열이 동일하지 않는다면, 매칭 되는 텍스트도 없을 것입니다.
2) 문자열의 끝
먼저, 위의 메타 문자 중에 문자열의 끝을 나타내는 부분을 바탕으로 적용해보도록 하겠습니다.
문자열$ |
위와 같은 형태로 사용할 수 있습니다. 문장의 끝에 위에서 언급된 문자열이 포함된 글자만 매칭 하는 것입니다. 그럼 다음 예시를 살펴보겠습니다.
설정 텍스트 |
Hello Appia Hello |
정규 표현식 |
Hello$ |
매칭 텍스트 |
Hello Appia Hello |
그럼 이 부분을 텍스트 사이트에서 다시 한번 적용해보도록 하겠습니다.
위에서 보이는 바와 같이 Hello는 시작과 끝에 각각 존재합니다. 하지만, 관련해서 $로 인하여 문자의 마지막에 위치한 Hello만 매칭이 됩니다. 물론, 문자열이 동일하지 않는다면, 매칭 되는 텍스트도 없을 것입니다.
정규 표현식[Regular expression,Regexp] 000 - 정규 표현식 기본 / 테스트할 수 있는 사이트
이번 포스팅에서는 정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape)라는 주제로 포스팅을 진행해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.