시초는 카이스트 정재승교수님의 트윗.




문득 정규식으로 저거 쉽게 찾을 수 있겠다는 생각이 들었고
누군가가 하지 않을까 하는 생각이 들었으나
결국 내가 잉여력을 발휘하여 짜보았음. ㄱ-
아래는 코드.
==================================================
#!/usr/bin/python
import string
import re
f = open("/usr/share/dict/words",'r')
maxlen = 0
maxword = ""
pattern = '^(AC|AG|AL|AM|AR|AS|AT|AU|B|BA|BE|BH|BI|
BK|BR|C|CA|CD|CE|CF|CL|CM|CN|CO|CR|CS|CU|
DB|DS|DY|ER|ES|EU|F|FE|FM|FR|GA|GD|GE|H|HE|
HF|HG|HO|HS|I|IN|IR|K|KR|LA|LI|LR|LU|MD|MG|MN|
MO|MT|N|NA|NB|ND|NE|NI|NO|NP|O|OS|P|PA|PB|
PD|PM|PO|PR|PT|PU|RA|RB|RE|RF|RG|RH|RN|RU|
S|SB|SC|SE|SG|SI|SM|SN|SR|TA|TB|TC|TE|TH|TI|
TL|TM|U|UUH|UUO|UUP|UUQ|UUS|UUT|V|W|XE|Y|YB|ZN|ZR)+$'
for line in f.xreadlines():
ll = line.replace('\n','')
ll = ll.upper()
if re.match(pattern,ll) and len(ll)>maxlen:
maxlen = len(ll)
maxword = ll
print maxlen
print maxword
===================================================
결과는..
===================================================
22
NONREPRESENTATIONALISM
N/O/N/RE/P/RE/SE/N/TA/TI/O/N/AL/I/SM 이렇게 나눠지는듯.
원래는 추상주의 이런 뜻인 것 같은데..
이거 마치 원소기호따위로 단어같은거 represent 하지 말아달라고 주장하는 것 같다. -┏
오늘의 잉여력폭발 끗!





Comment on this post!
우진 2010/05/22 16:47
자네는 저 짓 말고 당장 해결해야 할 일이 있을텐데..??
realisty 2010/05/23 11:42
짝짝짝!
석준 2010/05/24 16:18
호스트 막으니 아이폰탈옥도 하고 잉여력 폭발 코드도 짜는구나....
타스케 2010/10/05 01:59
와우 /usr/share/dict/words 는 사전식으로 미리 단어들이 준비되어 있는 건가요?
승연 2010/10/07 10:19
넵 원래는 리눅스 비밀번호를 너무 단순하게 설정하는 것을 막기 위해 주로 들어 있는 파일입니다.