에디터 함수 상자 - 표현식 - 정규 표현식 (Function tool box, Expression, Regular Expressio…
페이지 정보
본문
안녕하세요. 소심비형입니다. 오늘 알아볼 내용은 정규 표현식입니다. 표현은 어떤 값을 어떻게 표현한다는 의미인데요. 예를 들어 더하기는 "+"로 표현하는 거죠. 표현식은 어떤 값을 표현하는 식입니다. 10+20=30이 표현식입니다. 그러면 정규 표현식은? 네 그렇습니다. 표현식을 정규화했다는 의미입니다. 정규화란 어떤 표현을 간략하게 만들고 식을 구조화시키는 작업을 말합니다.
[ 정규식 예제 ]
정규 표현식은 복잡하게 얽혀있는 자료 구조(문자열)에서 보다 쉽고 간편하게 원하는 데이터를 추출할 수 있도록 도와줍니다. 물론, 단순화되어 있기 때문에 코드량이 몇배에서 수십 배 감소하는 장점도 가지고 있습니다. 하지만, 정규 표현식에서 제공하는 표현들을 숙지하고 있어야 하며, 함축된 표현으로 인해 가독성이 떨어지고 분석을 어렵게 만드는 단점도 존재합니다.
다소 어렵게(?) 느껴질수도 있는데요. 하나씩 따라 해 보면서 액션의 사용법을 익혀봅시다. 우선 간단한 테스트를 위해 아래와 같이 새로운 스크립트를 추가합니다.
File > 새로 만들기 > 스크립트 (단축키: Ctrl+N)
아래 그림을 참고해서 문자열 채우기 액션을 추가합니다.
- 정규 표현식 선택
- 클릭 드래그앤 드롭으로 스크립트에 추가
- 속성에 작업 카테고리 내용을 확인
아래 그림을 참고해서 각각의 속성 값을 채워주세요.
- 원본 문자열: a1234bcdetest5test678hello9
- 정규 표현식: [0-9]
속성을 설정했으면 실행하고 결과를 확인합니다. 결과는 1이 나옵니다. 정규 표현식에 입력한 "[0-9]"는 숫자를 찾아주는 정규 표현식입니다.
- 스크립트 실행
- 결과 값 확인
- 아웃풋 창에 정규식으로 찾은 데이터 속성 값 확인
모든 숫자를 찾으려면 어떻게 해야 할까요? 아래 그림처럼 매치 옵션을 변경하고 다시 실행해보세요.
- 매치 옵션을 Matchs로 변경
- 결과 값 확인
- 아웃풋 창에 정규식으로 찾은 데이터 속성 값 확인
아래 그림처럼 채울 문자 방향을 변경하고 다시 실행해보세요.
- 채울 문자 방향을 Right(오른쪽)로 변경
- 스크립트 실행
- 결과 데이터 확인
- 아웃풋에 문자 채우기 속성의 데이터 확인
이번에는 주어진 문자열에서 이메일만 추출하는 방법입니다.
- 매치 옵션을 Matchs로 변경
-
원본 문자열을 아래와 같이 입력안녕하세요. 소심비형입니다.제 이메일은 master@ngmsoft.com입니다.또는 ngmaster@ngmsoft.com입니다.
-
정규 표현식을 아래와 같이 입력[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
- 정규 표현식 옵션을 IgnoreCase로 변경
이메일만 추출이 되는지 확인해봅니다. 웹크롤링이나 특정 사이트에서 이메일만 추출할 때 정규식을 이용하면 편리합니다. 이외에도 사이트 주소나, 아이피 등등... 이미 알려진 많은 정규식이 있으니 잘 활용하면 좀 더 쉽게 업무를 처리할 수 있을 겁니다. 어떤가요? 위에 설명한 것보다는 간단하죠^^?
- 스크립트 실행 클릭
- 결과 값 확인
- 아웃풋 창에 정규식으로 찾은 데이터 속성 값 확인
속성 정보
기본 작업
- 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
- 설명: 이 액션의 부가적인 설명을 입력합니다.
- 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
- 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
- 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.
데이터
- 결과 값: 정규식으로 찾은 결과 값을 표시합니다.
변수
- 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
- 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.
작업
- 구분자: 정규식으로 찾은 문자가 다수인 경우, 사용자가 설정한 구분자로 연결합니다.
- 매치 옵션: 하나 또는 다수를 찾을지 선택합니다.
- 원본 문자열: 정규식으로 찾을 원본 문자열입니다.
- 정규 표현식: 원본 문자열에서 특정 문자를 찾기 위한 정규 표현식을 입력합니다.
-
정규 표현식 옵션: 정규 표현식을 처리하는 옵션을 제공합니다.- 옵션에 대한 세부 내용은 [ 여기 ]를 참고하세요.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글함수 상자 - 표현식 - 숫자 증감 (Function tool box, Expression, Increase Decrease Number) 20.01.28
- 다음글함수 상자 - 표현식 - 문자 채우기 (Function tool box, Expression, String padding) 20.01.28
댓글목록
등록된 댓글이 없습니다.