기본 콘텐츠로 건너뛰기

추천 가젯

리액트 + 비트(Vite)로 모바일 청첩장 만들기 — 1편

모바일 청첩장 시리즈 1편 · 기획/스택/배포 리액트 + 비트(Vite)로 모바일 청첩장 만들기 — 1편 안녕하세요, 이번에 결혼 준비를 하면서 여자친구와 같이 모바일 청첩장 을 만들고 있어요. 여자친구가 디자인을 해서 전달해주면 제가 개발을 진행하고 있어요. 이 글은 구현기 1편 으로, 전체 흐름과 스택, 배포 구성까지 “부담 없이” 훑어봅니다. (코드는 여러 버전 테스트 중!) 이 글에서 보는 것 왜 SPA 모바일 청첩장인가? 기본 스택 & 폴더 구조 라우팅 선택: HashRouter가 편한 이유 Cloudflare Pages로 자동 배포 현재 진행 중인 UI 버전들(테스트 기록) 1) 왜 SPA 모바일 청첩장인가? 모바일 청첩장은 핵심이 명확해요. 가볍고 빠르고 끊김이 없어야 하고, 사진/지도/일정이 터치에 친화적 이어야 합니다. 그래서 React + Vite 로 싱글 페이지 앱(SPA)을 구성했고, 정적 호스팅(CDN)인 Cloudflare Pages 에 올려 GitHub 푸시 → 자동 배포 까지 한 번에 묶었습니다. UX 팁 · 이미지 WebP, loading="lazy" 기본 · 큰 터치 타깃 · BGM은 “사용자 탭 후” 재생(모바일 정책) 2) 기본 스택 & 폴더 구조 서버는 따로 두지 않았고, 정적 빌드 결과물( dist/ )만 올립니다. 현재 의존성은 아래와 같아요. package.json(요약) { "name": ...

파이썬 re 모듈 완전 정복 🔍

RegEx icon

파이썬 re 모듈 완전 정복 🔍

re 모듈은 정규표현식을 이용한 문자열 검색, 매칭, 치환, 그룹핑 등 고급 처리 기능을 제공합니다. 기본부터 실전 활용까지 편하게 정리했어요.

1. 기본 패턴 검색 및 매칭

import re

pattern = r'\d+'  # 숫자 1개 이상
text = "house 123 number"
m = re.search(pattern, text)
print(m.group())  # 123

2. 전체 일치 찾기 - `findall()`

import re

text = "abc123def456ghi789"
numbers = re.findall(r'\d+', text)
print(numbers)  # ['123', '456', '789']

3. `match()`와 `fullmatch()` 차이

import re

print(bool(re.match(r'\d+', "123abc")))      # True
print(bool(re.match(r'\d+', "abc123")))      # False
print(bool(re.fullmatch(r'\d+', "123")))     # True
print(bool(re.fullmatch(r'\d+', "123abc")))  # False

4. 문자열 치환: `sub()` 사용

import re

text = "Email: user@example.com"
clean = re.sub(r'\S+@\S+', '[hidden email]', text)
print(clean)  # Email: [hidden email]

5. 그룹핑과 캡처 사용법

import re

text = "2025-06-30"
m = re.match(r'(\d{4})-(\d{2})-(\d{2})', text)
if m:
    year, month, day = m.groups()
    print(year, month, day)  # 2025 06 30

요약

  • search()로 부분 매칭, findall()로 모든 일치 항목 추출
  • match()는 시작부터, fullmatch()는 전체 문자열이 패턴과 일치할 때 True
  • sub()로 문자 치환, 원하는 형식으로 변환 가능
  • 그룹핑(`()`), 캡처, `.groups()`를 통해 상세한 매칭 정보 획득

댓글

가장 많이 본 글

Icons by Flaticon