[Blue Prism] 정규 표현식의 명명된 캡처 사용
소개
Blue Prism에서 일정한 형식에 따라 문자열을 구문 분석할 때 정규 표현식을 사용하고 싶은 장면이 있어, 「명명된 캡쳐」를 이용하는 방법을 조사해 보았습니다.
「명명된 캡쳐」란, 예를 들어 Python 에서는 이름이 붙은 그룹 라고 불리고 있는 것으로, 아래와 같이 이름을 지정한 「매치 부분」의 캐릭터 라인을 꺼내 이용할 수 있도록 하는 것입니다.
>>> m = re.match(r'(?P<first>\w+) (?P<last>\w+)', 'Jane Doe')
>>> m.groupdict()
{'first': 'Jane', 'last': 'Doe'}
Utility - Strings::Extract Regex Values 사용법 알아보기
인스톨하면 오는 Utility 계의 VBO 에, 「Utility - Strings」가 있어, 그 안의 액션의 「Extract Regex Values」가 명적으로도 사용할 수 있을 것 같습니다.
VBO 설명서를 살펴보십시오.
알겠어요. . .
어쩔 수 없기 때문에, Utility - Strings VBO 의 본체를 보면, 오브젝트에 용례로서 데이터 아이템의 초기치가 들어가 있어, 테스트 실행해 움직임을 확인할 수 있게 되어 있습니다. 이것은 도움이 될 것입니다!
사용법의 포인트는, 인수의 콜렉션
Named Values
에 있습니다.열 이름에
Name
Value
가 있는 컬렉션을 준비하고 Name
열에 정규 표현식으로 설정된 명명된 캡처의 이름을 지정합니다.용례에서의 정규 표현은 아래와 같습니다. 구성된 명명된 캡처는
Lower
및 Upper
입니다.(?<Lower>\d+)\s*(-|to)\s*(?<Upper>\d+)
Lower
및 Upper
를 Name
열로 설정합니다.실행하면 결과가
Value
열에 들어가는 구조로 되어 있는 것 같습니다.테스트 대상의 캐릭터 라인은, 아래와 같이이므로, 의도대로의 캡쳐가 되어 있습니다.
100-200
이제 사용법을 알았습니다.
Utility - Strings::Extract Regex Values 사용하기
시험에 사용해 보겠습니다.
테스트 대상의 캐릭터 라인을 아래와 같이 설정해, 대괄호의 내용과, 대괄호에 계속되는 캐릭터 라인을 각각 따로 캡쳐 해 봅니다.
[場所] 東京都品川区西五反田
사용하는 패턴 문자열은 다음과 같습니다. 대괄호 내용을
Tag
, 대괄호 뒤에 오는 문자열을 Content
로 캡처하려고 합니다.^\[(?<Tag>\w+)\]\s*(?<Content>.+)$
프로세스의 전체 이미지는 다음과 같습니다.
포인트가 되는 컬렉션
Named Values Input
는 아래와 같이 Name
열, Value
열을 설정해, Name
열의 초기치에, 이름 첨부 패턴의 Tag
, Content
를 설정합니다.실행하면 의도대로 캡처할 수 있음을 알 수 있습니다.
요약
VBO 매뉴얼을 봐도 사용법을 모르는 경우도, 본체를 보면 알 수 있다!
Reference
이 문제에 관하여([Blue Prism] 정규 표현식의 명명된 캡처 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/muuuuuwa/items/78488a988d722e959f45텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)