Log In
|
Sign Up
Search
정규표현식(regular expression)을 이용한 영문/숫자 코드 단어 추출
Writer
오창민
Description
* 5.0 이상 기준 * re.k: ``` string test_data(); void main() { int hd = regex_compile("[^[:alnum:]]*?([[:alnum:]][[:alnum:]]*[[:alnum:]]).*"); string txt = test_data(); list
words = txt.split(['\r', '\n', ' ', '\t', '/']); string w; for w in words { list
m; if (w.match(hd, &m)) { printz "%s => %s".format(w, m[1]); } } regex_free(hd); } string test_data() { return "안녕하세요. SK하이닉스에서 근무 중인 코난테크놀로지 김광천 대리입니다! 요청사항이 하나 왔는데, 최대한 빠른 적용을 원해서 가이드를 받기 위해 문의 드립니다. -------------------------------------------------- 1. 숫자****숫자 2. 숫자****문자 3. 문자****문자 4. 문자****숫자 (가운데 * 길이는 정해져 있지 않음) -------------------------------------------------- 패턴으로 들어가는 숫자,문자 패턴의 단어가 검색이 되어야 한다고 합니다. 예를 들어, 이런 형식일 때 아래 단어로 검색이 되어야 한다고 합니다. -------------------------------------------------- H51PD25A (문자 시작, 문자 끝) PMX405 (문자 시작, 숫자 끝) -------------------------------------------------- 질문 1 : 이런 경우 어떤 방식으로 적용해야 할까요? ( 패턴사전으로 테스트해 보았으나, 가운데 *길이가 정해져 있지 않은 경우의 처리가 되지 않는 것 같습니다^^; ) 질문 2 : RESTFUL API 중에 mod/kwd로 명사추출 기능을 제공 중인데, 거기에도 위의 숫자+문자 패턴이 적용되려면 색인이 다시 되어야 하는 걸로 알고있는데 맞나요~? 답변 부탁드립니다~! 이상입니다~!"; } ``` * 실행: ``` $ ./kvm Welcome to KVM (Linux-2.6.32-279.el6.x86_64-x86_64 2018-07-10 14:25:37). Type 'help' for help. Commands end with ';'. Copyright (c) 1999-2018 Konan Technology, Inc. kvm> run re.k; SK하이닉스에서 => SK H51PD25A => H51PD25A PMX405 => PMX405 RESTFUL => RESTFUL API => API mod => mod kwd로 => kwd kvm> ```
Tag
정규표현식 regexp regular_expression regular
Module Name
Attachments
Comments
Save
Save
Cancel
Save
Cancel
Warning
Login