일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- win32com
- pyqt5
- 깃
- 오피스
- python3
- python
- Excel
- 파이썬GUI
- 아웃룩
- 비주얼베이직
- 파이썬3
- 윈도우10
- VBA
- 안드로이드
- 문자열
- 파이썬
- pythongui
- 파워포인트
- 엑셀
- pandas
- office
- windows
- Windows10
- matlab
- 윈도우11
- Android
- Outlook
- git
- html
- Windows11
Appia의 IT세상
정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2 본문
정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2
앞선 포스팅에서는 Any Character(.)문자를 선택하여 모든 문자를 선택하거나, 아니면, 특정 범위내에서 문자를 선택하는 방법에 대해서 이야기를 해봤습니다. 이번포스팅에서는 앞선 포스팅에 이어서, 특정 범위에 문자 선택이기 하지만, 사용자가 선택한 범위에 포함되지 않는 문자를 선택하는 방법과 특정 문자를 주고, 그 문자안에서 선택할 수 있게 하는 방법에 대해서 이야기를 해보고자 합니다.
1. 특정 범위에 포함되지 않는 문자 선별
앞선 포스팅에서는 [P-W]과 같은 범위를 지정하여 그 범위에 해당하는 글자들을 선별하는 방법에 대해서 살펴봤습니다. 하지만, 역으로 이 범위에 포함되지 않는 문자들만 선택하기 위해서는 어떻게 해야할까요? 바로 "^"문자를 활용하는 것입니다. 이 문자는 문자의 시작을 나타내지만, [ ]안에서는 범위에 해당하지 않는 "not"의 의미를 가집니다. 그럼 다음 예시를 살펴보겠습니다.
설정 텍스트 |
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 |
정규 표현식 |
[^P-W] |
매칭 텍스트 |
ABCDEFGHIJKLMNOPQRSTUVWXYZ |
다음과 같은 그림을 나타낼 수 있습니다. 이 부분을 테스트 사이트에서 한번 더 구동해보도록 하겠습니다.
이와 같이 선택한 범위 밖에 글자만 선택할 수 있습니다.
2. 특정 문자를 주고, 그 문자안에서 선택할 수 있게 하는 방법
이와 같은 방법을 가장 쉽게 생각할 수 있는 방안은 바로 '|'를 사용하는 것입니다. 다음과 같이 사용하는 것입니다.
(문자열1|문자열|...|문자열n) |
이와 같은 식에서는 위의 포함된 문자열 중 포함되는 문자열이 하나라도 있는 경우 모든 선별합니다. 그럼 다음 예시를 살펴보겠습니다.
설정 텍스트 |
Hello Appia hello appia |
정규 표현식 |
(He|lo|Ap) |
매칭 텍스트 |
Hello Appia hello appia |
이와 같은 형태로 선별이 가능합니다.
그럼 위의 부분을 조금 응용해보도록 하겠습니다.
설정 텍스트 |
Hello Appia hello appia |
정규 표현식 |
.(el|pp)ia |
매칭 텍스트 |
Hello Appia hello appia |
이와 같이 앞에서 살펴본 any character를 지칭하는 (.)과 연동하여 사용이 가능합니다.
물론, 다음과 같이 만들수 도 있습니다.
설정 텍스트 |
Hello Appia hello appia |
정규 표현식 |
.(el|pp)ia |
매칭 텍스트 |
Hello Appia hello appia |
위와 같이 any character뿐 아니라, 문자와 연동해서 사용이 가능합니다.
정규 표현식[Regular expression,Regexp] 002 - 특정 범위 문자 선택 또는 모든 문자 선택
이와 같이 이번 포스팅에서는 정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2라는 주제로 앞선 포스팅에 이어서 조금 더 진보된 내용들에 대해서 살펴봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.