Appia의 IT세상

정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape) 본문

Development/ETC

정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape)

Appia 2021. 1. 2. 07:26
반응형

정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와  이스케이프 문자(Escape)

정규 표현식[Regular expression,Regexp] 001 - 문자의 위치와 이스케이프 문자(Escape)

앞선 포스팅에서는 정규 표현식[Regular expression,Regexp]의 의미, 테스트 할 수 있는 사이트에 대해서 서두에서 살펴봤습니다. 그 뿐 아니라, 정규 표현식[Regular expression,Regexp]의 기본 표현 방법에 대해서 예시와 함께 간단히 살펴봤습니다. 그래서 이번 포스팅에서는 이 부분에 추가로, 특정 위치에 따른 특정 문자의 선별을 살펴보면서, 이스케이프(escape)문자에 대해서 같이 한번 살펴보도록 하겠습니다. 

 

이스케이프(escape)문자의 의미 및 예시 

먼저 이스케이프(escape)문자에 대해서 간단히 살펴보겠습니다. 정규식을 활용하다보면, 특정한 의미를 가지면 특수 기호들을 살펴볼 수 있습니다. 오늘 위치에 대해서 언급하면성 이야기를 하겠지만, ^라는 기호는 문자의 시작 위치, 즉 문장의 시작위치를 이야기를 합니다. 따라서, 앞서 포스팅에서 활용했던 기본 문자 방법을 이용해서 다음과 같은 정규 표현식[Regular expression,Regexp]을 입력했다고 가정하겠습니다. 

설정 텍스트

^-^ Hello Appia

정규 표현식

^

실제 예상으로는 관련해서 매칭 텍스트가 2개가 표시되어야 한다고 생각하실 수 있습니다. 하지만, 실제 결과는 다음과 같이 아무런 매칭을 얻을 수 없습니다. 

설정 텍스트

^-^ Hello Appia

정규 표현식

^

매칭 텍스트

 

위의 적용된 부분은 보면, 다음 보이는 부분과 같이 매칭 되는 부분이 없다는 것을 알 수 있습니다. 

이스케이프(escape)문자 예시 

이와 같이 특정 의미를 가지고 기호 즉, 메타 문자들을 텍스트 자체로 표현할 수 있게 해주는 기능을 하는 것을 이스케이프(escape) 문자라고 합니다. 이 이스케이프(escape)문자를 백 슬래시(\)로 볼 수 있습니다. 그럼 위의 부분을 이스케이프 문자를 사용해서 적용해보도록 하겠습니다. 

설정 텍스트

^-^ Hello Appia

정규 표현식

\^

매칭 텍스트

^-^ Hello Appia

위에서 적용한 부분을 정규 표현식[Regular expression,Regexp] 테스트 할 수 있는 사이트에서 확인을 해보면 다음과 같은 결과를 확인할 수 있습니다. 

이스케이프(escape)문자의 의미 및 예시 1

 

이와 같은 이스케이프(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)라는 주제로 포스팅을 진행해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다. 

 

 

 

반응형
Comments