Python의 re 모듈에는 정규 표현식을 다루는 다양한 함수가 있으며, 그중 가장 많이 사용되는 두 가지가 바로 re.match()와 re.search()입니다. 두 함수는 비슷해 보이지만, 문자열에서 패턴을 찾는 방식에 중요한 차이가 있습니다. re.match() — 문자열의 시작 부분에서만 매칭 re.match()는 패턴이 문자열의 맨 앞에서 일치할 때만 매칭 객체를 반환합니다. 예를 들어 TP Tutorials Point TP라는 문자열에서 TP라는 패턴을 찾으면, 패턴이 문자열 시작 부분에 있으므로 매칭에 성공합니다.
Python에서 특정 텍스트 패턴을 검색하고 새로운 문자열로 교체하려면 re 모듈의 re.sub() 메서드를 사용하면 됩니다. 이 메서드는 정규 표현식 패턴을 찾아 지정한 문자열로 대체해 주며, 만약 패턴이 발견되지 않으면 원본 문자열을 변경 없이 그대로 반환합니다.re.sub() 기본 문법re.sub(pattern, repl, string)pattern: 찾고자 하는 정규 표현식 패턴repl: 교체할 새로운 문자열string: 검색과 교체가 수행될 대상 문자열기본 사용 예제다음 예제에서는 문자열 TP is most popular
정규 표현식 수정자(Modifier)란? 파이썬의 정규 표현식 리터럴에는 매칭 동작의 다양한 측면을 제어할 수 있는 선택적 수정자(modifier)를 지정할 수 있습니다. 수정자는 플래그(flag) 형태로 전달되며, 여러 개의 수정자를 동시에 적용하려면 배타적 논리합 연산자인 |를 사용해 조합하면 됩니다. 예를 들어 대소문자를 구분하지 않으면서 여러 줄 모드까지 함께 적용하려면 re.I | re.M처럼 작성하면 됩니다. 주요 정규 표현식 수정자 목록 1. re.I — 대소문자 무시 대소문자를 구분하지 않는(case-insensi
Python에서 두 문자열이 같은지 확인할 때, 대소문자의 차이는 무시하고 내용만 비교해야 하는 경우가 자주 발생합니다. 예를 들어 사용자 입력값을 검증하거나 검색 기능을 구현할 때 이러한 비교 방식이 매우 유용합니다.가장 간단한 방법은 lower() 메서드를 사용해 두 문자열을 모두 소문자로 변환한 뒤 비교하는 것입니다.예제string1 = Star Wars string2 = star wars if string1.lower() == string2.lower(): print(두 문자열은 대소문자와 관계없이 같습니다) els
정규식(Regular Expression)을 사용하면 특정 문자로 시작하고 다른 특정 문자로 끝나는 부분 문자열을 손쉽게 추출할 수 있습니다. 이번 글에서는 파이썬의 re 모듈을 활용해 문자열의 시작과 끝을 동시에 일치시키는 방법을 알아보겠습니다.문제 상황다음과 같은 문자열이 주어져 있다고 가정해 보겠습니다.TestCountry Hello여기서 T로 시작하고 y로 끝나는 단어를 찾아 출력하는 것이 목표입니다.핵심 요소이 문제를 해결하기 위해 정규식의 세 가지 핵심 요소를 사용합니다.findall() 메서드: re 모듈의 함수로, 패
문자열을 마침표(.)와 줄바꿈( )을 기준으로 나눠야 할 때, 파이썬의 re 모듈과 정규 표현식을 활용하면 간단하게 처리할 수 있습니다.정규 표현식 패턴 설명핵심 패턴은 r[^\s\.][^\.\n]+입니다.- [^\s\.] : 공백 문자와 마침표를 제외한 첫 번째 문자를 매칭합니다.- [^\.\n]+ : 마침표나 줄바꿈 문자가 나올 때까지의 나머지 문자들을 하나 이상 연속해서 매칭합니다.이렇게 하면 문장 단위로 깔끔하게 분리된 결과를 얻을 수 있습니다.예제 코드import re s = Hi. Its nice meeting you.
파이썬에서 문자열 반복 출력하기파이썬에서는 문자열에 별표(*) 연산자를 사용하면 간단하게 문자열을 여러 번 반복할 수 있습니다. 별표는 문자열과 함께 사용될 때 반복 연산자(repetition operator)로 정의되며, 별표 뒤에 오는 숫자만큼 해당 문자열을 반복하여 연결합니다.기본 사용 예제아래 예제에서는 변수 string에 저장된 문자열을 숫자 2와 함께 곱하여 두 번 반복 출력합니다.>>> string = abcdefghij >>> print(string * 2) abcdefghijabcde
파이썬에서 연결된 문자열 출력하기파이썬에서 더하기(+) 연산자를 문자열과 함께 사용하면 연결(concatenation) 연산자로 정의됩니다. 이 연산자는 두 번째 문자열을 첫 번째 문자열 뒤에 이어 붙여 하나의 새로운 문자열을 만들어 줍니다.아래 예제처럼 두 개의 문자열 변수를 만든 후, + 연산자로 연결한 결과를 print() 함수로 출력할 수 있습니다.>>> s1 = TutorialsPoint >>> s2 = Hyderabad>>> print(s1+s2)TutorialsPoint
Python에서는 내장 변환 함수를 활용해 서로 다른 데이터 타입 간의 형 변환을 손쉽게 수행할 수 있습니다. 이 글에서는 자주 사용되는 주요 데이터 변환 함수들의 기능과 사용 예제를 하나씩 살펴보겠습니다. 1. int() – 정수형으로 변환 int() 함수는 부동소수점 숫자나 정수 형태의 문자열을 정수 객체로 변환합니다. 문자열을 변환할 때는 두 번째 인자로 진법(base)을 지정할 수 있어, 16진수나 8진수 문자열도 정수로 변환할 수 있습니다. >>> int(11) 11 >>> int(11.15
Python에서는 str() 함수 하나만으로 숫자, 리스트, 튜플, 딕셔너리 등 모든 내장(built-in) 데이터 타입을 손쉽게 문자열 형태로 변환할 수 있습니다. 이 글에서는 기본 데이터 타입의 변환 방법과 함께, 직접 만든 클래스(사용자 정의 클래스)를 문자열로 출력하는 방법까지 단계별로 살펴보겠습니다.1. str() 함수로 내장 데이터 타입 변환하기str() 함수는 인자로 전달된 값을 해당 값의 문자열 표현(string representation)으로 변환합니다. 아래 예시처럼 정수, 실수, 복소수, 리스트, 튜플, 딕셔너리
collections 모듈의 OrderedDict란?파이썬 표준 배포판에는 collections 모듈이 포함되어 있으며, 이 모듈은 고성능 컨테이너 데이터 타입들을 제공합니다. 그중 OrderedDict는 딕셔너리의 하위 클래스로, 항목이 추가된 순서를 기억하는 특징이 있습니다. 순서가 있는 딕셔너리를 순회(iteration)하면 키가 처음 추가된 순서대로 항목이 반환됩니다.>>> from collections import OrderedDict>>> D = {5:fff, 3:ttt, 1:ooo,4:b
파이썬에서 두 개의 딕셔너리(dictionary)를 하나로 합치는 작업은 실무에서 매우 자주 사용됩니다. 버전에 따라 여러 가지 방법이 있으며, 각각의 특징과 차이점을 알아보겠습니다. 1. update() 메서드를 사용한 병합 파이썬의 내장 dict 클래스는 update() 메서드를 제공합니다. 이 메서드는 인자로 전달된 딕셔너리의 모든 요소를 호출한 딕셔너리 객체에 병합합니다. >>> a = {1:a, 2:b, 3:c} >>> b = {x:1,y:2, z:3} >>> a.upd
Python 딕셔너리에 새 키 추가하기파이썬의 딕셔너리(Dictionary)는 키(key)와 값(value)이 한 쌍을 이루어 저장되는 순서가 없는(unordered) 자료구조입니다. 리스트와 달리 각 요소는 위치 인덱스가 아니라 고유한 키로 식별됩니다.또한 딕셔너리의 키는 중복될 수 없다는 특징이 있습니다. 이러한 특성 덕분에 새로운 키를 지정하고 값을 할당하기만 하면, 해당 키-값 쌍이 딕셔너리에 손쉽게 추가됩니다.새 키 추가 예제>>> D1 = {1: a, 2: b, 3: c, x: 1, y: 2, z: 3}&
del 키워드로 키 제거하기 파이썬에서 del 키워드는 거의 모든 객체에 적용할 수 있는 삭제 연산자입니다. 딕셔너리에서 특정 항목을 삭제하려면 del 문 뒤에 제거하고 싶은 키를 지정하면 됩니다. >>> D1 = {1: a, 2: b, 3: c, x: 1, y: 2, z: 3} >>> del D1[x] >>> D1 {1: a, 2: b, 3: c, y: 2, z: 3} 위 예제에서 볼 수 있듯이 del D1[x]를 실행하면 키 x와 그에 대응하는 값이 함께 딕셔너리에서 사라집니다
파이썬 첫 번째 프로그램 작성하기파이썬 스크립트는 파이썬 문법을 인식하는 어떤 편집기로도 작성할 수 있습니다. 파이썬 표준 배포판에는 통합 개발 및 학습 환경인 IDLE 모듈이 기본으로 포함되어 있어, 별도의 설치 과정 없이 바로 사용할 수 있습니다.IDLE에서 코드 작성하기IDLE을 실행한 뒤 파일 메뉴에서 새 파일(New File)을 열고, 편집 화면에 다음 코드를 입력합니다.print(Hello World!)작성한 코드를 hello.py라는 이름으로 저장한 후, Run 메뉴에서 실행하면 콘솔에 Hello World! 메시지가
Python에서 튜플(tuple)은 여러 항목(item)을 담는 변경 불가능한(immutable) 컬렉션입니다. 리스트와 달리 한 번 생성하면 요소를 추가, 삭제, 수정할 수 없으며, 담기는 항목들의 자료형이 서로 달라도 무방합니다.튜플의 기본 생성 구문튜플의 각 항목은 쉼표(,)로 구분하며, 일반적으로 소괄호 () 안에 넣어 표현합니다. 흥미로운 점은 이 괄호가 사실 선택 사항이라는 것입니다. 즉, 쉼표만으로도 튜플을 만들 수 있습니다.>>> T1 = (1,one,3.45,[1,2,3]) >>> T
파이썬에서 딕셔너리(dictionary) 객체는 가변(mutable) 자료형입니다. 이러한 특성 덕분에 하나의 딕셔너리 객체를 다른 딕셔너리의 키에 연결된 값으로 사용할 수 있습니다.즉, 키의 값(value) 부분에 또 다른 딕셔너리를 정의하면 중첩 딕셔너리(nested dictionary)를 만들 수 있습니다. 이는 복잡한 계층 구조의 데이터를 직관적으로 표현할 때 매우 유용합니다.중첩 딕셔너리 예제다음 예제는 학생 두 명의 정보를 각각 하나의 딕셔너리로 정의하고, 이를 다시 상위 딕셔너리의 값으로 저장한 것입니다.>>
개요정규식(Regular Expression)을 활용하면 긴 문자열 속에서 원하는 단어만 골라내는 작업을 간단하고 정확하게 처리할 수 있습니다. 아래 코드는 주어진 URL 문자열에서 meeting이라는 단어를 매칭하는 예제입니다.여기서 핵심은 긍정형 후방 탐색(positive look-behind)과 긍정형 전방 탐색(positive look-ahead) 어설션을 사용한다는 점입니다. 이 두 어설션은 단어를 둘러싸고 있는 문자들을 매칭 조건으로 확인하지만, 그 문자들이 실제 매칭 결과에는 포함되지 않도록 합니다.정규식 패턴 분석예제
정규 표현식에서 \W 패턴은 단어 문자(alphanumeric 및 밑줄 _)가 아닌 모든 문자를 의미합니다. 즉, 영문자·숫자·밑줄을 제외한 특수 기호나 공백 등이 이에 해당합니다.아래 예제 코드는 주어진 문자열에서 모든 비단어 문자를 찾아 리스트 형태로 출력합니다.예제import re s = ab5z8d*$&Y@ regx = re.compile(r\W) result = regx.findall(s) print(result)출력 결과[*, $, &, @]코드 설명re.compile(r\W): 비단어 문자에 해당하는 정규 표현식 패턴
파이썬에서 re 모듈을 사용하면 정규식을 통해 문자열 내의 공백(Whitespace)을 손쉽게 찾을 수 있습니다. 정규식에서 공백 문자는 \s 패턴으로 표현하며, 이는 일반적인 스페이스뿐만 아니라 탭(\t), 줄바꿈(\n) 등 모든 종류의 공백 문자와 일치합니다.re.search()로 첫 번째 공백 찾기다음 코드는 주어진 문자열에서 첫 번째 공백 하나를 검색합니다.import re result = re.search(r[\s], The Indian Express) print(result)실행 결과<_sre.SRE_Match ob