Appia의 IT세상

정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2 본문

Development/ETC

정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2

Appia 2021. 1. 4. 06:23
반응형

정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2

정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2

앞선 포스팅에서는 Any Character(.)문자를 선택하여 모든 문자를 선택하거나, 아니면, 특정 범위내에서 문자를 선택하는 방법에 대해서 이야기를 해봤습니다. 이번포스팅에서는 앞선 포스팅에 이어서, 특정 범위에 문자 선택이기 하지만, 사용자가 선택한 범위에 포함되지 않는 문자를 선택하는 방법과 특정 문자를 주고, 그 문자안에서 선택할 수 있게 하는 방법에 대해서 이야기를 해보고자 합니다. 

 

1. 특정 범위에 포함되지 않는 문자 선별

앞선 포스팅에서는 [P-W]과 같은 범위를 지정하여 그 범위에 해당하는 글자들을 선별하는 방법에 대해서 살펴봤습니다. 하지만, 역으로 이 범위에 포함되지 않는 문자들만 선택하기 위해서는 어떻게 해야할까요? 바로 "^"문자를 활용하는 것입니다. 이 문자는 문자의 시작을 나타내지만, [ ]안에서는 범위에 해당하지 않는 "not"의 의미를 가집니다. 그럼 다음 예시를 살펴보겠습니다. 

설정 텍스트

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

0123456789

정규 표현식

[^P-W]

매칭 텍스트

ABCDEFGHIJKLMNOPQRSTUVWXYZ 
abcdefghijklmnopqrstuvwxyz 
0123456789

다음과 같은 그림을 나타낼 수 있습니다. 이 부분을 테스트 사이트에서 한번 더 구동해보도록 하겠습니다. 

 

특정 범위에 포함되지 않는 문자 선별 예시

이와 같이 선택한 범위 밖에 글자만 선택할 수 있습니다. 

 

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를 지칭하는 (.)과 연동하여 사용이 가능합니다. 

특정 문자를 주고, 그 문자안에서 선택할 수 있게 하는 방법 예시2

물론, 다음과 같이 만들수 도 있습니다. 

설정 텍스트

Hello Appia hello appia 

정규 표현식

.(el|pp)ia

매칭 텍스트

Hello Appia hello appia 

위와 같이 any character뿐 아니라, 문자와 연동해서 사용이 가능합니다. 

특정 문자를 주고, 그 문자안에서 선택할 수 있게 하는 방법 예시3

정규 표현식[Regular expression,Regexp] 002 - 특정 범위 문자 선택 또는 모든 문자 선택

이와 같이 이번 포스팅에서는 정규 표현식[Regular expression,Regexp] 003 - 특정 범위 문자 선택2라는 주제로 앞선 포스팅에 이어서 조금 더 진보된 내용들에 대해서 살펴봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.

반응형
Comments