파이썬 문자열 처리 -- 정규표현식

사용자들이 직접 작성하는 실전팁!

Moderator: Dry8r3aD

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/07/31 Wed 6:11 pm

참고문헌: https://www.phpschool.com/gnuboard4/bbs ... _id=319281
BiHon:20110221 wrote: $hanja =
'['.
'\x{2FF0}-\x{2FFF}'. // 한자 생김꼴 지시 부호 (Ideographic Description characters)
'\x{31C0}-\x{31EF}'. // 한중일 한자 획 (CJK Strokes)
'\x{3400}-\x{4DBF}'. // 한중일 통합 한자 확장-A (CJK Unified Ideographs Extension A)
'\x{4E00}-\x{9FBF}'. // 한중일 통합 한자 (CJK Unified Ideographs)
'\x{F900}-\x{FAFF}'. // 한중일 호환용 한자 ( CJK Compatibility Ideographs)
'\x{20000}-\x{2A6DF}'. // 한중일 통합 한자 확장-B (CJK Unified Ideographs Extension B)
'\x{2F800}-\x{2FA1F}'. // 한중일 호환용 한자 보충 (CJK Compatibility Ideographs Supplement)
']';
파이썬에서 처리할때 위에 인용된 PHP개발자 비혼님의 범위를 참고하시면 더 많은 한자(대한민국에서 쓰이는 한자)를 뽑아낼 수 있습니다.
제 경험상 일상에서 쓰이는 한자 거의 대부분은 `한중일 통합 한자' 에 포함되어 있더라구요...
저 위에 관동팔경 소스코드도 `한중일 통합 한자' 범위에서 해결봤습니다.
이래나 저래나 한자는 머리가 지끈~합니다... 아흐 다롱디리,,,

[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/01 Thu 2:16 am

PHP개발자 비혼님의 범위를 참고하시면 더 많은 한자(대한민국에서 쓰이는 한자)를 뽑아낼 수 있습니다
한자 파이썬 코드를 갱신했습니다. 20902 에서 27554 로 결과값이 증가했습니다.

소스코드(파이썬3.7): https://gitlab.com/soyeomul/test/blob/master/hanja.py

[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
Attachments
스크린샷, 2019-08-01 02-12-20.png
결과값 증가: 20902 -> 27554
스크린샷, 2019-08-01 02-12-20.png (310.31 KiB) Viewed 270 times
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/01 Thu 1:04 pm

re.sub 예문입니다.

[크롬OS 에서 작성했씁니다]
Attachments
Screenshot 2019-08-01 at 1.02.50 PM.png
6개의 스팸 ;;;
Screenshot 2019-08-01 at 1.02.50 PM.png (211.33 KiB) Viewed 265 times
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/08 Thu 12:59 pm

한자를 한글로 바꿉니다.

소스코드(파이썬3.7): https://gitlab.com/soyeomul/test/blob/master/ipa.py

[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
Attachments
스크린샷, 2019-08-08 12-55-06.png
국가란 국민입니다!!!
스크린샷, 2019-08-08 12-55-06.png (377.23 KiB) Viewed 243 times
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/11 Sun 2:16 pm

https://ko.wiktionary.org/wiki/%E4%B8%8D wrote: 참조: 不 뒤에 오는 낱말이 한국어로 'ㄷ', 'ㅈ'으로 발음되는 한자어일 때에는 «부»로 읽으며 그 이외에는 «불»로 읽는다.
한자(漢字)를 한글로 변경하는 코드 보완했씁니다.
코드 내에 '딯', '짛', 'ㄷㅈ' 같은 한글로 만들어진 변수명도 있습니다.
그래도 코드가 돌아가더이다... 너무 신기합니다!!!
우아하진 않지만 농사꾼 입장에서 최선을 다하여 코드를 짰습니다.

소스코드(파이썬3.7): https://gitlab.com/soyeomul/test/blob/master/ipa.py (8월 13일 마지막갱신)

[ibus-hangul(서라운딩 패치판)에서 작성했습니다]
[크롬OS에서 보완된 코드와 스크린샷을 올렸씁니다]
[크롬OS에서 내용을 재정리했씁니다]
[크롬OS에서 12일자로 갱신된 코드 요약했습니다: get_ipa(k)[1] -> k]
[ibus-hangul(서라운딩패치판)에서 코드 갱신 요약했습니다: 不+[ㄷㅈ] 부터 처리후에 나머지 한자 처리토록...]
[ibus-hangul(서라운딩패치판)에서 코드 갱신 요약했습니다: 이미 바뀌어진 한자는 통과하고 나머지 변환작업 계속 진행토록...]
Attachments
Screenshot 2019-08-11 at 3.18.01 PM.png
크롬OS 에서도 코드가 돌아갑니다...!!!
Screenshot 2019-08-11 at 3.18.01 PM.png (308.29 KiB) Viewed 210 times
스크린샷, 2019-08-11 14-10-15.png
코드가 돌아갑니다!!!
스크린샷, 2019-08-11 14-10-15.png (434.79 KiB) Viewed 214 times
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/13 Tue 1:40 pm

忠武公 wrote: ... 바다에 서약하니 물고기와 용이 감동하고 산에 맹세하니 초목이 아는구나 ...
소스코드(파이썬3.7): https://gitlab.com/soyeomul/stuff/blob/ ... C%82%B0.py

여기까지... 파이썬 정규표현식 갈무리합니다.

^고맙습니다 감사합니다_^))//

소여물 황병희 드림

[ibus-hangul(서라운딩 패치판)에서 작성했씁니다]
Attachments
Screenshot 2019-08-13 at 4.05.45 PM.png
크롬OS 에서도 실험 성공^^^
Screenshot 2019-08-13 at 4.05.45 PM.png (221.88 KiB) Viewed 148 times
스크린샷, 2019-08-13 13-32-03.png
경자年 한일전 총선은 4월 15일 입니다.
스크린샷, 2019-08-13 13-32-03.png (1.21 MiB) Viewed 160 times
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/15 Thu 12:15 pm

[부록]

한자 세부 발음 및 뜻: (다음 사전)
https://dic.daum.net/word/view.do?wordi ... u000000550

"冷"(U+51B7) 은 동자이음(발음이 복수개인 한자)이더라구요,,,
우연찮게 해당 한자를 한글입력기(우분투 18.04/나비)에서 입력할 일이 있었는데...
아무리 찾아도 "령"에선 입력할 수 없었습니다.

한참후에야 libhangul 한자사전에서 발음 "령"이 누락된걸 알았습니다.
한자사전 규칙에 맞게 패치를 하여 홀로 테스트 해보니 잘 되더라구요.

Code: Select all

(bionic)soyeomul@localhost:~/test$ diff -uNr hanja.txt.orig hanja.txt
--- hanja.txt.orig	2019-08-15 10:57:12.856027574 +0900
+++ hanja.txt	2019-08-15 13:34:42.367540644 +0900
@@ -68973,6 +68973,7 @@
 렵:䜲:
 렵:䝓:
 렵:䪉:
+령:冷:물소리 령
 령:令:명령 령, 시킬 령, 하여금 령
 령:領:옷깃 령, 거느릴 령
 령:寧:편안할 령
@@ -170052,6 +170053,7 @@
 엿경단:엿瓊團:
 엿당:엿糖:
 엿목판:엿木板:
+영:冷:물소리 영
 영:永:길 영, 오랠 영
 영:英:꽃부리 영, 영웅 영, 구름 뭉게뭉게 일어날 영, 아름다울 영
 영:令:하여금 령, 시킬 령, 가령 령, 개 목소리 령, 벼슬이름 령
(bionic)soyeomul@localhost:~/test$ 
"령"으로 발음 되는 예제문: (서경의 머릿말에서 발췌)
《서경(書經)》:
(1) https://ko.wikipedia.org/wiki/%EC%84%9C ... %EC%B1%85)
(2) http://www.ohmynews.com/NWS_Web/view/at ... 0001897826
... 冷沈 作書集典 ...
[발음: ... 영(령)침 작서집전 ...]
여기 우분투 포럼에서 한달정도 피드백을 받고서 이상없으면 libhangul 프로젝트에다 정식으로 패치를 보내겠습니다.

libhangul 한자사전 인터넷주소: https://github.com/libhangul/libhangul/ ... /hanja.txt

[우분투 18.04 파여폭스 나비에서 작성했습니다]
[패치파일에 발음 '영' 도 함께 포함시켰습니다]
[안드로이드에서 실험 스크린샷을 올렷씁니다]
[우분투 18.04 파여폭스 나비에서 libhangul 한자사전 인터넷주소를 추가했습니다]
Attachments
20190815_135035.jpg
패치후 실험 성공!!!
20190815_135035.jpg (1.55 MiB) Viewed 81 times
ㄱㅅㅎㄴㄷ!

User avatar
황병희
Posts: 666
Joined: 2009/10/18 Sun 1:47 am

Re: 파이썬 문자열 처리 -- 정규표현식

Post by 황병희 » 2019/08/19 Mon 4:04 pm

[부록2]
구글 공식 블로그 wrote: 또한 KS X 1001과 KS X 1002에 있는 한자는 물론이고, 国, 数 등 널리 쓰이는 속자와 대법원 인명용 한자 대부분 (47자 제외)을 지원합니다.
손 노가다로 조사해서 이맥스로 옮겨적은것을 여기다 붙여넣기합니다.
구글 노토 CJK 에서 네모로 출력되는 한자 목록 (47자) 입니다.
(47자의 유니코드 범위는 한중일 통합 한자 확장 B~E 구간입니다.)

001 국 U+25B97
002 기 U+27144
003 나 U+230FD
004 나 U+21594
005 뉴 U+27625
006 다 U+25978
007 다 U+2363B
008 람 U+22C6F
009 래 U+27F1B
010 련 U+283F6
011 률 U+25832
012 리 U+22EE0
013 린 U+2A2AD
014 미 U+25E44
015 민 U+29509
016 별 U+2983B
017 서 U+27A51
018 섭 U+26057
019 성 U+265A4
020 세 U+21727
021 솔 U+275FF
022 술 U+2128D
023 슬 U+291E3
024 안 U+2439D
025 예 U+23AD9
026 온 U+2583A
027 울 U+200D7
028 은 U+2A664
029 은 U+28DA1
030 응 U+2533E
031 인 U+23343
032 인 U+267D8
033 일 U+284DC
034 정 U+294DE
035 조 U+2012C
036 준 U+28D8A
037 지 U+253B5
038 지 U+253FE
039 진 U+24A01
040 집 U+2C115
041 초 U+2A4D0
042 하 U+27B02
043 한 U+21F5C
044 혁 U+27E7D
045 훈 U+2C7D3
046 훈 U+242F1
047 희 U+21155

특별히 대법원 인명용 추가 한자를 libhangul 에 반영해주신 그놈 개발자 성대현님의 노고(勞苦)에 감사드립니다^^^

# 참고문헌:
[0] https://developers-kr.googleblog.com/20 ... ere_4.html
[1] https://github.com/libhangul/libhangul/ ... 4851d0a950
[2] https://www.unicode.org/L2/L2017/17084- ... me-var.pdf

[우분투 18.04 파여폭스 나비에서 적었습니다]
Attachments
스크린샷, 2019-08-19 22-36-10.png
손노가다를 파이썬이 줄여줌 ;;;
스크린샷, 2019-08-19 22-36-10.png (349.63 KiB) Viewed 15 times
ㄱㅅㅎㄴㄷ!

Post Reply