Windows Powershell 사용시 regular expression 을 사용하면 텍스트 처리시 정말 다양한 것들을 자동화 할 수가 있습니다.

Powershell regular expression 관련하여 검색을 하다 보니, 아래 주소에서 Powershell regular expression 관련 좋은 글을 발견 할 수 있었습니다.

https://powershellexplained.com/2017-07-31-Powershell-regex-regular-expression/#regex-matches

그 중에서 Powershell 에서만 사용할 수 있는 굉장히 특이한 사용법에 대해서 소개하려 합니다. 보통의 다른 언어에서 switch case 를 사용하는 경우 정확하게 매칭이 되는 경우에만 사용됩니다. 그런데 Powershell 에서는 특이하게도 switch case 에서 regular expression 을 사용할 수 있더군요. Powershell 에서 get-help about_Switch 명령을 통해 메뉴얼을 살펴보면 Regex 옵션을 주면 switch 의 입력에 대해 정규 표현식 매칭을 하고 그에 따른 동작을 하게 된다는 것을 알 수 있습니다.

위 주소의 글에 있는 예제를 실행해 보면~ 아래와 같이 정규 표현식을 사용하여 숫자 형식에 따른 구분을 할 수 있다는 것을 알 수 있습니다.



Regular Expression 을 사용하는 경우 항상 테스트가 필요 합니다.

정규 표현식을 잘못 사용하면 돌이킬 수 없는 문제들이 발생 할 수도 있기 때문이죠.

그래서 오늘은 정규 표현식 테스트 사이트들에 대해 간단히소개 하려 합니다.

제가 구글링 해 본 바로는 Python 정규표현식 테스트 사이트로 아래 3개의 사이트가 나오더군요.




나머지 두 사이트는 파이썬 정규 표현식을 테스트만 할 수 있었습니다.

Cheat Sheet 가 있어서 정규표현식 문법이 생각 안날 때 참조하며 할 수 있다는 측면에서는 좋아 보였습니다. 

그런데 첫번째 링크인  https://regex101.com/ 의 경우 테스트 뿐만 아니라 코드 생성도 해 주더군요. 

모든 워드에 _postfix 라는 글자를 넣고 싶다고 해보죠~ 

다음과 같이 정규 표현식을 입력해서 테스트 해보면 모든 워드에 _postfix 를 넣을 수 있습니다.



다음으로 밑에 있는 code generator 버튼을 눌러 보면~ 방금 작성한 정규 표현식에 대해 Python 코드가 나옵니다. 


위 사이트에서 보시면 javascript, php, python, csharp, java, ruby, rust, golang, perl 에 대해 코드 생성을 해주네요~

정규 표현식 사용시 필수 사이트가 될 것 같습니다.



오늘은 정규 표현식(Regular Expression) 관련 툴 소개 좀 하려 합니다.

 

일단 정규표현식이 뭔지 알아야겠죠~ 정규 표현식에 대한 소개는 아래 주소에서 확인 할 수 있습니다.

 

http://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D

 

간단히 얘기하면 문자열의 규칙성을 이용하여 특정한 문자 패턴을 찾거나 바꾸는 표현 방식이 바로 regular expression 입니다.

 

저는 개인적으로 Regular Expression을 사용한 이후 컴퓨터 사용의 편의성이 극단적으로 증가한 느낌을 많이 받습니다.

 

그만큼 중요한 기술이고 배워 볼만한 기술이라는 생각이 드네요.

 

요즘 저는 개인적으로 코드 제너레이터 등을 작성하는데 정규 표현식을 사용하고 있습니다. 아래 글에서 숫자 등을 자동으로 증가 감소 시키는데도 정규 표현식을 사용하고 있고요~

 

http://iamaman.tistory.com/1559

http://iamaman.tistory.com/1562

 

저는 처음 정규 표현식 공부를 할 때 "정규 표현식 완전 해부와 실습" 이라는 책을 좀 봤었는데~

 

책도 중요하지만 컴퓨터 관련 기술들은 실습이 중요 할 것 같네요.

 

그래서 오늘은 다음과 같이 두 개의 툴을 추천 합니다.

 

첫 번째로는 아래 주소의 regexr 인데요. 웹 페이지에서 정규 표현식 테스트를 할 수 있고 예제나 cheetsheet 을 확인 할 수 있어서 편리하더군요.

 

http://regexr.com/

 

설치가 필요 없이 브라우저만 있으면 접근 할 수 있으니 많이 사용하는 편입니다.

 

다음으로 설치 형 프로그램으로는 expresso 을 가끔씩 사용합니다. 윈도우 전용의 Freeware 라서 다른 운영체제에서는 사용할 수 없다는 게 아쉽지만 ~


http://www.ultrapico.com/Expresso.htm


 

regular expression 관련 여러 편의 기능들이 있어서 익혀 놓으면 매우 편리하게 사용할 수 있을 것 같네요.


+ Recent posts