파이썬 정규식 이스케이프
이 문서는 Python 정규식 이스케이프에 관한 것입니다. 또한 Python 정규식 이스케이프와 적절한 예제 코드와 함께 사용하는 방법 및 Python Regex의 여러 용도를 다룰 것입니다.
또한 Python은 정규식(또는 정규식)을 사용하여 문자열에 대한 검색 및 바꾸기 작업을 지원합니다.
파이썬 정규식 이스케이프
‘RegEx’는 미리 정의된 패턴에 따라 텍스트를 일치시키는 엄청난 기술입니다. 텍스트를 특정 패턴과 비교하면 해당 패턴이 있는지 여부를 감지할 수 있습니다.
패턴을 하위 패턴으로 나눌 수도 있습니다. Python에서 정규식 이스케이프는 광범위한 작업을 수행할 수 있습니다.
검색 및 바꾸기 작업을 수행하고, 텍스트의 패턴을 바꾸고, 문자열에 특정 패턴이 포함되어 있는지 확인할 수 있습니다. 오늘 정규식을 사용하여 검색 및 바꾸기 작업도 수행합니다.
Python의 정규식은 표준 라이브러리의 re
모듈을 사용하여 표현할 수 있습니다. 정규식과 문자열은 검색을 수행하는 것이 주된 목적이라고 생각합니다.
첫 번째 일치 항목이 있는지 여부에 따라 일치 항목이 반환됩니다.
Python에는 검색 및 교체를 지원하는 기본 모듈 re
가 있습니다. 우리의 코드는 그것을 사용하기 위해 처음에 모듈을 가져와야 합니다.
import re
예제 코드:
import re
match = re.search(
r"Analytics",
"DataScience: Data Science & Analytics\ subfield of AI",
)
print(match)
print(match.group())
print("Begin the Index:", match.start())
print("Let's finish the Index:", match.end())
출력:
<re.Match object; span=(28, 37), match='Analytics'>
Analytics
Begin the Index: 28
Let's finish the Index: 37
Python 정규식 이스케이프 구문
원시 속성은 정규식이 아닌 r
문자인 (r'property')
로 표시됩니다. 일반 문자열과 달리 일반 문자열은 \
문자를 이스케이프 문자로 해석하지 않습니다.
정규식 엔진이 이스케이프에 /
문자를 사용하는 방식으로 인해 /
문자를 사용하여 이스케이프합니다.
이에 대해 Python으로 자세히 설명하겠습니다.
import re
# When an escape() is used in the first case, it returns a string with BackSlash '/' before every non-Alphanumeric character. In the second case, it returns a string with BackSlash '/' before '' only.
print(re.escape("It was really a wonderful experience so far"))
print(re.escape("I am curious about the experience [a-9], she said \t ^Awesome"))
출력:
It\ was\ really\ a\ wonderful\ experience\ so\ far
I\ am\ curios\ about\ the\ experience\ \[a\-9\],\ she\ said\ \ \ \^Awesome
또한 Python에서 정규식으로 문자열에 단어가 있는지 확인하려면 쉼표를 사용하여 문자열을 구분할 수 있습니다.
문자열에 이스케이프 문자가 없는 한 r
은 문자열을 이스케이프 문자를 처리하지 않는 원시 문자열로 만듭니다.
또한 re.match
는 문자열의 시작부터 일치합니다. 즉, 문자열과 패턴 간에 정확히 일치하는 항목을 검색합니다.
문자열의 어떤 항목과도 일치해야 하는 경우 re.search
를 사용하십시오. 다음은 예입니다.
import re
line = "This,is,a,practice,string"
re.match("practice", line)
re.search("practice", line)
출력:
<re.Match object; span=(10, 18), match='practice'>
또한 Python 정규식의 다양한 사용에 대해 알아봅니다.
Python Regex의 다중 사용
정규식으로 검색 및 바꾸기
regex 메서드에서는 문자열을 검색한 다음 다른 값을 대체합니다. re
모듈에 있는 Python의 re.sub()
함수는 이를 수행하는 데 사용됩니다.
통사론:
re.sub(pattern, replacement, string, count=0, flags=0)
Python을 사용하여 정규식을 사용하여 문자열을 검색하고 찾을 수 있습니다. 이 경우 문자열은 작업하려는 문자열을 포함하는 변수입니다.
문자열에서 패턴이 여러 번 발생하는 경우 패턴을 대체할 횟수를 지정할 수 있습니다. 0은 기본값입니다. 어쨌든 선택 사항입니다.
정규식 플래그를 지정할 필요가 없습니다.
예제 코드:
import re
str = "abid304@outlook.com"
print(re.sub("[a-z]*@", "abc@", str))
출력:
abid304abc@outlook.com
정규식으로 다중 패턴 대체
정규식을 사용하여 여러 패턴을 한 번에 바꿀 수 있습니다. 다음 구문을 사용하여 이를 쉽게 수행할 수 있습니다.
통사론:
re.sub(pattern_11 | pattern_22, replacement, string, count=0, flags=0)
예제 코드:
import re
str = "MachineLearning is the Subfield of AI"
print(re.sub(r"(\s)|(-)", ",", str))
출력:
MachineLearning,is,the,Subfield,of,AI
Regex를 사용하여 여러 패턴을 여러 교체로 바꾸기
정규식을 사용하여 여러 패턴을 다른 대체 항목으로 바꿀 수도 있습니다. 다음 예와 같이 약간의 수정이 필요합니다.
예제 코드:
import re
def convrt_case(mtch_obj):
if mtch_obj.group(1) is not None:
return mtch_obj.group(1).lower()
if mtch_obj.group(2) is not None:
return mtch_obj.group(2).upper()
str = "mACHINE lEARNING IS THE sUBFIELD OF ai"
print(re.sub(r"([A-Z]+)|([a-z]+)", convrt_case, str))
출력:
Machine Learning is the Subfield of AI
이 예제에 표시된 대로 문자열에는 교체해야 하는 대문자와 소문자가 모두 포함되어 있습니다. 대문자는 소문자로 교체해야 하며 그 반대도 마찬가지입니다.
두 개의 그룹을 만든 다음 이를 대체할 함수를 추가합니다.
Python에서 정규식 이스케이프 sub()
메서드는 문자열을 대체하는 데 사용됩니다. 교체된 문자열은 re
모듈의 Python 내장 메서드에 의해 반환됩니다.
re
모듈을 가져와야 합니다. 이 방법에서는 문자열의 패턴을 검색하여 새 표현식으로 바꿉니다.
이 Python 기사가 Python에서 regex escape
를 보다 효과적으로 사용하는 방법을 이해하는 데 도움이 되었기를 바랍니다.
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn