>백엔드 개발 >파이썬 튜토리얼 >Python에서 정규식을 사용하는 방법은 무엇입니까?

Python에서 정규식을 사용하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-06-05 10:40:491330검색

Python은 정규식을 사용한 텍스트 조작을 지원하는 강력한 프로그래밍 언어입니다. 데이터 분석과 텍스트 처리가 사회 각계각층에서 더욱 보편화됨에 따라 정규식 기술을 익히는 것이 점점 더 중요한 기본 기술이 되었습니다. 이번 포스팅에서는 파이썬에서 정규식을 사용하는 방법을 배워보겠습니다.

  1. re 모듈 가져오기

Python에서 정규 표현식을 사용하려면 re 모듈을 가져와야 합니다. 물론 정규식을 사용하기 전에 먼저 정규식의 구문 규칙을 숙지해야 합니다. 다음은 몇 가지 기본 정규식 기호와 그 의미입니다.

기호 의미
. 은 개행 문자를 제외한 모든 문자와 일치합니다.
d 은 숫자와 일치합니다.
D 경기 숫자가 아닌
w 문자, 숫자, 밑줄 또는 중국어 문자와 일치
W 문자, 숫자, 밑줄 또는 중국어 문자를 제외한 다른 문자와 일치
s 일치 모든 공백 문자, 공백, 탭, 개행 등을 포함합니다.
S 공백이 아닌 모든 문자와 일치합니다.
^ 문자열의 시작과 일치합니다.
$ 문자열의 끝과 일치합니다.
* 0회 이상 일치
+ 1회 이상 일치
? 0회 또는 1회 일치
{n} 정확하게 일치 n번
{n,} n번 이상 일치
{m,n} m~n번 일치
[...] 대괄호 안의 일치 문자 범위를 포함한 모든 문자, 제외된 문자 등
(…) 일치하는 하위 문자열 캡처
(?:…) 일치하는 하위 문자열 캡처 안 함
(? =...) 양수 사전 전달 check
(?!...) 전방향 부정 사전 확인
(?<=...) 역 긍정 사전 확인
(? 역 부정 사전 검사
  1. 문자열 일치
    간단한 문자열 일치를 위해 re 모듈을 사용해 보겠습니다. 예를 들어 문자열에서 "hello world" 형식의 하위 문자열을 일치시키려고 합니다. 코드는 다음과 같습니다.
import re

# 声明一个字符串
str1 = "hello world"

# 定义正则表达式
pattern = "hello world"

# 使用 re 模块进行匹配
result = re.search(pattern, str1)
print(result.group())

출력 결과:

hello world
  1. 특수 문자

특수 문자를 검색해야 하는 경우 문자를 사용하려면 정규식에 이스케이프 문자()를 추가해야 합니다. 예:

  • 괄호로 끝나는 단어 검색:
# 定义正则表达式
pattern = r"w+($"

# 使用 re 模块进行匹配
result = re.search(pattern, "I have a list (item1, item2).")
print(result.group())

출력:

list(
  • .:
# 定义正则表达式
pattern = r"https?://S+.w+(?<!/)$"

# 使用 re 模块进行匹配
result = re.search(pattern, "Here is a link: https://www.google.com.")
print(result.group())

을 포함하는 URL 검색:

    https://www.google.com
  1. 출력:
    # 定义正则表达式
    pattern = r"w+@w+.w{2,3}"
    
    # 使用 re 模块进行匹配
    result = re.findall(pattern, "Please contact me at alice@gmail.com or bob@hotmail.com")
    print(result)
여러 하위 문자열 일치

경우에 따라 여러 개 일치해야 하는 경우가 있습니다. 텍스트의 하위 문자열. 이 경우 findall 함수를 사용할 수 있습니다. 예를 들어 문자열에서 모든 이메일 주소를 찾으려는 경우 코드는 다음과 같습니다.

    ['alice@gmail.com', 'bob@hotmail.com']
  1. 출력 결과:
    # 定义正则表达式
    pattern = r"d"
    
    # 使用 re 模块进行匹配和替换
    result = re.sub(pattern, "*", "12345678")
    print(result)
문자열 바꾸기

정규식을 사용하여 Python에서 문자열을 바꿀 수도 있습니다. 예를 들어 문자열의 모든 숫자를 * 기호로 바꾸려면 코드는 다음과 같습니다.

    ********
  1. 출력 결과:
    rrreee
Summary🎜이 기사에서는 Python에서 정규식을 사용하는 기본 사항을 배웠습니다. 정규식을 사용하면 텍스트 처리의 많은 작업을 더 쉽게 만들 수 있다는 점을 기억하세요. 정규식의 기본 사항을 익히는 것은 데이터 과학자, 기계 학습 엔지니어 및 소프트웨어 개발자에게 필수적인 기술입니다. 🎜🎜

위 내용은 Python에서 정규식을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.