백엔드 개발에서는 데이터 처리와 정보 추출이 매우 중요합니다. 정규식은 백엔드 개발을 보다 효율적으로 수행하는 데 도움이 되는 강력한 데이터 처리 및 정보 추출 도구입니다. 이 기사에서는 백엔드 개발에 Python 정규식을 사용하는 방법을 소개합니다.
1. 정규식에 대한 기본 지식
정규식은 문자 패턴을 설명하는 도구로, 대량의 텍스트 데이터에서 필요한 정보를 빠르고 정확하게 일치시키는 데 도움이 됩니다.
정규 표현식은 일반적으로 문자, 연산자 및 메타 문자로 구성됩니다. 특수 문자와 메타 문자는 문자 유형이나 일치 규칙 유형을 나타낼 수 있습니다. 다음은 일반적인 정규식 메타 문자 목록입니다.
metacharacters | 문자 일치 | ||
---|---|---|---|
이스케이프 문자 | |||
. | 줄 바꾸기를 제외한 모든 문자와 일치합니다 | ||
^ | 문자열의 시작 부분과 일치 | ||
$ | 문자열의 끝 부분과 일치 | ||
[] | Character set | ||
[^] | 비 문자 세트 | ||
* | 경기 이전 문자를 0회 이상 일치 | ||
+ | 이전 문자를 1회 이상 일치 | ||
? | 이전 문자를 0 또는 1회 일치 | ||
{} | 이전 문자 a와 일치 지정된 횟수 | ||
() | 의 왼쪽 또는 오른쪽 표현식과 일치합니다. 괄호 안의 표현식과 일치하며, 캡처 그룹도 나타냅니다. |
2. 응용 프로그램 of Python의 정규식
re 모듈은 Python에 내장되어 있어 완전한 정규식 지원을 제공하고 데이터 처리 및 정보 추출을 용이하게 할 수 있습니다.
d 메타 문자를 사용하여 숫자를 일치시키고 +를 사용하여 여러 숫자를 일치시킬 수 있습니다.
import re text = "John has 2 apples, and Jane has 3 oranges." result = re.findall(r'd+', text) print(result)
출력은 다음과 같습니다.
['2', '3']
[A - Za-z0-9._%+-]+는 이메일 사용자 이름과 일치합니다. 이메일 도메인 이름과 일치하려면 @[A-Za-z0-9.-]+.[A-Za-z]{2,}를 사용하세요. :
import re text = "My email address is john@example.com." result = re.findall(r'[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}', text) print(result)
출력 결과는 다음과 같습니다.
['john@example.com']
1+href="(. ?)"1> match in HTML 하이퍼링크:
import re html = """ Google, Baidu, Sogou, """ result = re.findall(r']+href="(.*?)"[^>]*>', html) print(result)
출력 결과:
['https://www.google.com', 'https://www.baidu.com', 'https://www.sogou.com']
3. 정규식의 최적화 기술
정규식은 매우 강력하지만 빅데이터 및 복잡한 매칭을 처리할 때 효율성이 상대적으로 낮을 수 있습니다. 따라서 더 빠른 일치 속도를 달성하려면 정규식 작성 방식을 최적화해야 합니다.
예를 들어 [A-Z]|[a-z]|[ 대신 [A-Za-z0-9]를 사용할 수 있습니다. 0-9] , 정규식의 문자 수를 줄이고 일치 속도를 최적화할 수 있습니다.
그리디 모드는 최대한 많은 문자를 일치시키는 패턴을 말합니다. 예를 들어 문자열 "hello world"에서 "hell"을 일치시킬 때 re.findall(r'he.l', text)는 "hello worl"과 일치합니다. .탐욕스럽게 "o wor"와 일치하기 때문입니다. 이것이 결과입니다. 우리는보고 싶지 않습니다. 욕심 모드를 피하기 위해 .뒤에 ?를 추가하고 re.findall(r'he.?l', text)과 같은 지연 모드를 사용할 수 있습니다.
정규 표현식에는 백슬래시()가 포함되는 경우가 많습니다. 원시 문자열을 사용하지 않으면 백슬래시가 이스케이프 문자로 해석됩니다. 따라서 일반적으로 re.findall(r'<[A-Za-z0-9]+>', text)와 같이 원래 문자열을 사용함을 나타내기 위해 정규식 앞에 r을 추가합니다.
4. 요약
백엔드 개발에서 정규식은 데이터 처리 및 정보 추출에 도움을 주고 개발 효율성을 향상시킬 수 있는 매우 중요한 도구입니다. 이 글에서는 정규식에 대한 기본 지식과 파이썬에서의 적용을 소개하고, 최적화 팁도 제공합니다. 독자들에게 도움이 되기를 바랍니다.
위 내용은 백엔드 개발에 Python 정규식을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!