Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python

  1. 파이썬 정규 표현식 groups() 메서드란? 사용법과 예제 총정리

    파이썬에서 re 모듈로 정규 표현식을 다룰 때, 매칭 결과에서 여러 개의 그룹을 한 번에 확인하고 싶다면 groups() 메서드를 활용하면 됩니다. 이 글에서는 groups() 메서드의 동작 원리와 실전 예제를 통해 그 사용법을 자세히 살펴보겠습니다. re.groups() 메서드란? groups() 메서드는 정규 표현식 패턴에 포함된 모든 하위 그룹(subgroup)을 튜플(tuple) 형태로 반환합니다. 반환되는 값은 패턴의 1번 그룹부터 마지막 그룹까지 순서대로 담기며, 매칭에 참여하지 않은 그룹에는 기본값(default)이 할

  2. Python에서 정규식 역참조(Backreference)가 작동하는 방식

    그룹화(Grouping)정규식에서 그룹화는 표현식의 일부를 괄호 ()로 묶어서 수행합니다. 이렇게 하면 단일 문자가 아닌 그룹 전체에 연산자를 적용할 수 있어, 보다 복잡하고 유연한 패턴 매칭이 가능합니다.캡처링 그룹과 역참조괄호는 하위 표현식을 그룹으로 묶는 기능 외에도 역참조(backreference)를 생성하는 중요한 역할을 합니다. 정규식의 괄호로 묶인 부분이 문자열에서 매칭한 내용은 역참조에 저장되며, 이를 활용하면 정규식 내에서 이미 매칭된 부분을 재사용할 수 있습니다.하위 표현식이 괄호 안에 위치하면 \1, $1 등의

  3. 파이썬 정규식 그룹화 완벽 이해하기: 캡처 그룹과 백레퍼런스

    정규식 그룹화(Grouping)란?파이썬 정규식에서 그룹화는 패턴의 일부를 괄호 ( )로 감싸는 방식으로 수행합니다. 그룹화의 핵심 목적은 개별 문자가 아닌 전체 그룹에 연산자나 수량자를 적용할 수 있게 하는 것입니다.예를 들어 ab+는 a 뒤에 b가 하나 이상 오는 패턴을 의미하지만, (ab)+는 ab라는 묶음 자체가 하나 이상 반복되는 패턴을 의미합니다. 이처럼 괄호 하나만으로도 패턴의 의미가 완전히 달라집니다.캡처 그룹(Capturing Groups)과 백레퍼런스괄호는 단순히 하위 표현식을 묶는 역할만 하는 것이 아닙니다. 괄

  4. 파이썬(Python)에서 정규 표현식 대안(Alternation)은 어떻게 작동할까?

    대안(alternation)과 그 활용실제 애플리케이션을 개발하다 보면 두 개 이상의 후보 중 하나와 일치하는 정규 표현식을 자주 사용하게 됩니다. 또한 여러 표현식에 한꺼번에 수량자(quantifier)를 적용해야 하는 경우도 있습니다. 이러한 목표는 모두 괄호를 이용한 그룹화(grouping)로 달성할 수 있으며, 대안을 표현할 때는 세로 막대(vertical bar, |)를 사용합니다.세로 막대(|) 사용하기대안(alternation)은 여러 가지 서로 다른 패턴 중 하나라도 일치하면 되는 상황에서 유용합니다. 예를 들어 정규

  5. 파이썬(Python) 정규식 앵커 ^와 $의 작동 원리

    정규식 앵커란 무엇인가? 앵커(Anchor)는 어떤 문자와도 직접 일치하지 않으면서, 문자열이나 매칭(matching) 과정에 대해 특정 조건을 단언(assert)하는 정규식 토큰입니다. 앵커는 정규식 엔진이 현재 위치한 지점이 문자열(또는 줄)의 시작이나 끝처럼 미리 정해진 위치와 일치하는지를 알려주는 역할을 합니다. 이러한 단언은 여러 가지 이유로 매우 유용합니다. 위치 제한: 문자열(또는 줄)의 시작이나 끝에 있는 알파벳·숫자만 매칭하고, 그 외의 위치에서는 매칭되지 않도록 지정할 수 있습니다. 성능 향상: 엔진에게 특정 위

  6. 파이썬 정규식으로 특정 문자 앞뒤에 공백 추가하는 방법

    문자열을 다루다 보면 파이프(|)나 콜론(:) 같은 특수 문자 주변에 공백을 넣어 가독성을 높여야 할 때가 있습니다. 이럴 때 파이썬의 re 모듈과 정규식을 활용하면 간단하게 해결할 수 있습니다.아래 코드는 주어진 문자열에서 파이프(|) 문자 앞뒤에 공백을 자동으로 추가하는 방법을 보여줍니다.예제 코드import re regex = r\b[|:]\b s = abracadabra abraca|dabara | abra cadabra abra ca dabra abra ca dabra abra print(re.sub(regex, \g&l

  7. Python 함수 매개변수에서 튜플을 직접 정의할 수 없는 이유

    Python 3.0부터 함수 매개변수에서 튜플 언패킹이 금지된 배경Python 3.0부터는 PEP 3113에 따라 함수 정의 시 매개변수 자리에 튜플 언패킹(unpacked tuple) 형태를 더 이상 사용할 수 없습니다. 즉, 다음과 같이 함수를 정의하려고 하면 오류가 발생합니다.def fn(a,(b,c)): pass이 코드를 실행하면 Python 인터프리터가 튜플의 첫 번째 괄호 위치에서 SyntaxError를 출력합니다.PEP 3113은 이러한 자동 언패킹 매개변수 기능이 실무에서 거의 사용되지 않았고, 오히려 함수 시

  8. 파이썬 리스트에서 요소의 인덱스를 찾는 방법 완벽 정리

    파이썬에서 리스트(List)뿐만 아니라 문자열, 튜플과 같은 다른 시퀀스 타입에도 index() 메서드가 기본으로 제공됩니다. 이 메서드는 특정 요소가 처음 등장하는 위치(인덱스)를 찾을 때 가장 간단하고 유용한 방법입니다. index() 메서드로 첫 번째 위치 찾기 index() 메서드는 괄호 안에 넣은 값과 일치하는 첫 번째 요소의 인덱스를 반환합니다. >>> L1 = [a, b, c, a, x] >>> L1 [a, b, c, a, x] >>> L1.index(a) 0 리스트 L

  9. Python에서 튜플을 선언하는 방법: 기본 문법 완벽 정리

    Python 튜플(Tuple) 선언의 기본 문법튜플(tuple)은 쉼표로 구분된 항목들의 순서 있는 집합입니다. 리스트와 달리 한 번 생성하면 내용을 변경할 수 없는 불변(immutable) 자료형이며, 선언 시 항목들을 괄호로 감싸는 것은 선택 사항입니다.괄호를 사용한 일반적인 선언가장 널리 사용되는 방식은 소괄호 () 안에 쉼표로 구분된 값들을 나열하는 것입니다.>>> t1 = (1, Ravi, 23, 546) >>> t1 (1, Ravi, 23, 546) >>> type(t1)

  10. Python 튜플을 딕셔너리로 변환하는 방법

    Python에서 튜플을 딕셔너리로 변환하기Python에서는 내장 함수인 dict()를 사용하여 튜플을 딕셔너리 객체로 손쉽게 변환할 수 있습니다. 이 함수는 튜플 안에 튜플이 중첩된 형태, 즉 튜플의 튜플(tuple of tuples)을 인자로 받습니다. 이때 각 내부 튜플은 하나의 키(key)와 값(value) 쌍을 나타냅니다.기본 변환 방법다음 예제를 살펴보겠습니다. 각 튜플의 첫 번째 요소가 키가 되고, 두 번째 요소가 값이 됩니다.>>> t = ((1, a), (2, b))>>> dict(t)

  11. 파이썬에서 반복문을 활용해 리스트에 값을 할당하는 방법

    파이썬에서 반복문으로 리스트에 값 추가하기파이썬의 내장 list 클래스는 요소를 추가할 수 있는 append() 메서드를 기본적으로 제공합니다. 이 메서드와 input() 함수를 조합하면, 사용자가 Enter 키를 누를 때까지 계속해서 입력값을 리스트에 저장하는 프로그램을 쉽게 작성할 수 있습니다.핵심 아이디어는 while True로 구성된 무한 반복문 안에서 input() 함수로 값을 입력받고, append() 메서드로 리스트에 차례대로 추가하는 것입니다. 사용자가 아무 내용 없이 Enter 키만 누르면 빈 문자열이 반환되며, 이

  12. 파이썬에서 여러 변수에 한 번에 값을 할당하는 방법

    파이썬(Python)에서 변수는 사실 메모리에 저장된 객체에 붙여진 라벨(label) 또는 식별자입니다. 따라서 하나의 객체를 두 개 이상의 변수가 동시에 가리킬 수도 있습니다.1. 여러 변수에 같은 값 할당하기등호(=)를 연결하면 하나의 문장으로 여러 변수에 동일한 값을 할당할 수 있습니다.>>> a=b=c=5>>> a5>>> b5>>> c5위 예제에서 a, b, c는 모두 동일한 객체를 참조하는 세 개의 변수입니다. 내장 함수인 id()를 사용하면 세 변수가 실제로

  13. 파이썬에서 난수를 생성하는 방법 완벽 가이드

    파이썬 표준 라이브러리에는 random 모듈이 포함되어 있으며, 이 모듈은 다양한 난수 생성 함수를 제공합니다. 별도의 설치 없이 import random만으로 바로 사용할 수 있습니다.1. random.random() – 0과 1 사이의 실수 반환가장 기본적인 함수인 random()은 0 이상 1 미만 범위의 임의의 부동소수점(float) 숫자를 반환합니다.>>> import random >>> random.random() 0.52047027702659252. random.randrange() –

  14. 파이썬 리스트 안의 리스트를 하나의 평면(flat) 리스트로 만드는 방법

    리스트 객체의 각 항목 자체가 또 다른 리스트인 경우, 이 모든 하위 리스트들의 요소들을 하나의 새로운 리스트에 담은 것을 플랫 리스트(flat list, 평면 리스트)라고 합니다.플랫 리스트란?예를 들어 아래와 같이 리스트 안에 여러 개의 리스트가 중첩되어 있는 구조가 있을 때,nested_list = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]이것을 다음과 같이 요소들이 한 줄로 나열된 단일 리스트로 변환한 결과가 바로 플랫 리스트입니다.flat_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]플랫

  15. 파이썬 문자열에서 숫자 추출하기 – 정규식(re) 모듈 활용법

    정규식(RegEx) 모듈로 문자열에서 숫자 추출하기파이썬에서 문자열에 포함된 숫자를 추출할 때 가장 빠르고 효율적인 방법은 re(RegEx, 정규식) 모듈을 사용하는 것입니다. 먼저 모듈을 임포트합니다.>>> import re예제 문자열 준비아래와 같이 정수와 실수가 함께 포함된 문자열이 있다고 가정해 보겠습니다.>>> s = my age is 25. I have 55.50 percent marks and 9764135408 is my numberfindall() 함수로 패턴 매칭findall() 함

  16. re.compile 없이 대소문자를 구분하지 않는 파이썬 정규식 작성 방법

    파이썬에서 re.compile을 사용하지 않고도 정규식 매칭 시 대소문자를 구분하지 않도록 설정할 수 있습니다. 핵심은 re.IGNORECASE 플래그를 search, match, 또는 sub 함수의 flags 매개변수에 전달하는 것입니다. 주요 함수별 활용법 re.search(): 문자열 전체에서 패턴과 일치하는 첫 번째 위치를 찾습니다. re.match(): 문자열의 시작 부분부터 패턴과 일치하는지 확인합니다. re.sub(): 패턴과 일치하는 부분을 지정한 문자열로 교체합니다. 예제 코드 import re print(

  17. 파이썬 정규식 [\d+]의 작동 원리, 예제로 쉽게 이해하기

    정규식 [\d+]가 파이썬에서 실제로 어떤 역할을 하는지 코드 예제를 통해 자세히 살펴보겠습니다. [\d+] 패턴의 의미 [\d+]는 문자 클래스(character class)를 나타내며, 대괄호 안에 포함된 요소 중 하나와 일치합니다. 따라서 이 패턴은 다음 두 가지와 매칭됩니다. 숫자 한 자리 (0~9) + 문자 여기서 중요한 점은 대괄호 내부에서 +는 한 번 이상 반복을 의미하는 메타문자가 아니라, 단순히 일반 문자로 해석된다는 것입니다. 예제 코드 import re result = re.findall(r[\d+], Tar

  18. Python 정규식에서 참(True)/거짓(False) 값을 얻는 방법

    Python 정규식에서 참/거짓 값 얻기 Python의 re 모듈에서 제공하는 match()와 search() 메서드를 사용할 때, 문자열에서 패턴이 발견되면 불리언 값이 True인 Match 객체를 반환하고, 패턴이 발견되지 않으면 불리언 값이 False로 평가되는 None을 반환합니다. 즉, Match 객체는 항상 참(True)으로 평가되며, 매칭에 실패한 경우에는 None이 반환됩니다. 따라서 별도의 변환 과정 없이도 매칭 결과를 참/거짓으로 손쉽게 확인할 수 있습니다. bool() 함수를 이용한 확인 예제 bool() 함수

  19. Python에서 \B 정규식의 동작 원리와 활용법

    Python에서 \B 정규식의 동작 원리정규식에서 \b는 단어 경계(word boundary)를 나타내며, 한쪽에는 단어 문자(영문자, 숫자, 밑줄 _)가 있고 반대쪽에는 단어 문자가 없는 위치에서 일치합니다.반면 \B는 비단어 경계(non-word boundary)로, \b가 일치하지 않는 모든 위치를 의미합니다. 즉, 양쪽 모두 단어 문자인 경우 또는 양쪽 모두 단어 문자가 아닌 경우에 일치합니다.\B 동작 예제 코드import re result = re.findall(r\Bcat, certificate) result2 = r

  20. Python에서 string.replace 대신 정규식(re.sub)으로 문자열 치환하는 방법

    파이썬에서 단순한 str.replace() 메서드로는 처리하기 어려운 복잡한 패턴의 문자열을 치환해야 할 때가 있습니다. 이럴 때 re 모듈의 re.sub() 함수를 사용하면 정규식 패턴에 일치하는 모든 문자열을 원하는 값으로 손쉽게 교체할 수 있습니다.re.sub() 기본 문법re.sub(pattern, replacement, string) 형태로 사용하며, 문자열 전체에서 정규식 pattern과 일치하는 부분을 모두 찾아 replacement로 바꿔줍니다.예제 코드다음 예제는 텍스트 안에 섞여 있는 <[숫자>, <

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:33/450  20-컴퓨터/Page Goto:1 27 28 29 30 31 32 33 34 35 36 37 38 39