jsup 2.1 - "저녁이 있는 스팀" 실험

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/jsup-2-1 휴일도 주말도 없이 매일 포스팅하느라 남의 글 읽을 여유도 없고, 뭘 써야 하나 쥐어짜면서 재미도 없어지고 이런 상황이 반복되면서 스팀 커뮤니티도 퇴색하고 포스트 품질도 하향평준화되고 있는 것은 아닐까, 그런 생각을 예전부터 했습니다. 임대 셀프보팅이 언뜻 보기에는 수익률이 높은 것 같지만, 어쩌면 스팀의 재미를 심각하게 반감시키고 신규 사용자/투자자 유입을 저하시키면서 스팀 시세 자체를 추락시키는 심각한 요인이 되고 있는지도 모릅니다. 이 문제에 대한 대응 차원에서 투자와 소셜 플랫폼 기능을 분리하는 실험을 해 보려고 합니다. 1일1포스팅의 의무감에서 벗어나 좀 더 여유 있고 편안한 스팀 생활을 위한 jsup 2.1 - "저녁이 있는 스팀" 실험입니다. 스팀에 투자는 했지만 현생에 바쁘거나, 또는 글쓰기에 취미가 없는데 휴일/공휴일도 없는 1일1포스팅 때문에 스팀이 즐거움이 아니라 부담이 되어버린 경우에 한번 고려해 볼 만하다고 생각됩니다. 또한, 글쓰기에 전혀 취미가 없는 사람에게도 투자 관점에서 스팀 매수/파워업을 추천할 수 있는 여건이 될 수도 있지 않을까, 그런 생각도 듭니다. 오로지 보팅 때문에 어쩔 수 없이 매일 작성하는, 아무도 읽지 않는 한줄짜리 포스팅은 이제 과거의 추억으로 보내고, 부담 없는 편안한 마음으로 스팀에 투자하고 정말 기록하고 싶은 내용이 있을 때 정성 들여 포스팅하는 그런 스팀 생활이 가능해야 합니다. 그래서 내가 쓴 포스트를 다른 사람들이 와서 기꺼이 읽고, 나도 다른 사람들이 쓴 포스트를 궁금해 하는, 그런 스팀 생활이 가능해야 합니다. 친구들과 술 한잔을 해도, 여행을 가도, 출장을 가도, 명절에 가족들과 윷놀이를 하고 이야기꽃을 피우면서도, 마치 12시 종이 치기 전에 집으로 돌아가야 하는 신데렐라처럼 마음 한구석에서 포스팅 걱정을 해야...

파이썬에서 정규표현식(regex)을 이용한 문자열 검색

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/regex


파이썬에서 정규표현식(regular expression)을 이용해서 검색 조건에 일치하는 문자열인지 확인하는 방법입니다.

예시를 보겠습니다. 문자열 'abc', 'def', '123', '1abc' 이렇게 4개를 묶어 리스트(list)로 만들고 영문 소문자([a-z])를 검색해 봅니다.

import re

# 리스트 생성
str_list = ['abc', 'def', '123', '1abc']

# 적용할 정규표현식을 컴파일하여 regex에 할당
regex = re.compile('[a-z]')

이제 for 반목문으로 str_list에 속한 문자열들에 대해서 검색을 합니다. 우선 match()를 사용해 봅니다.

for i in str_list:
  if regex.match(i):
    print(i)

abc def

match()는 문자열 처음부터 조건과 일치하는지 검색합니다. 위의 예시에서는 문자열 'abc'와 'def'가 처음부터 영문 소문자로 시작하므로 조건에 부합하여 줄력되었습니다.

search()는 문자열 전체에 대해 일치하는 부분이 있는지를 검색합니다.

for i in str_list:
  if regex.search(i):
    print(i)

abc def 1abc

문자열 '1abc'의 경우 영문 소문자로 시작하지 않기 때문에 match()에서는 조건에 부합하지 않지만, 영문 소문자를 포함하고 있으므로 search()에서는 조건에 부합되어 출력됩니다.

findall()은 조건에 맞는 문자열을 모두 찾아서 리스트 형태로 가져옵니다.

x = 'hello'
y = regex.findall(x)
print(y)

['h', 'e', 'l', 'l', 'o']

문장으로부터 영문 소문자 단어를 분리하려면 아래와 같이 해 볼 수 있겠습니다.

# 영문 소문자가 1번 이상 반복: 정규표현식 [a-z]+
regex2 = re.compile('[a-z]+')
x = 'my name is joviansummer.'
y = regex2.findall(x)
print(y)

['my', 'name', 'is', 'joviansummer']

Comments

Popular posts from this blog

스티미언의 영향력 지수 계산

jsup/avle code update - you don't have to write post everyday

jsup/avle 보팅 코드 갱신 - 1일1포스팅 강박에서 벗어나기