Python 정규식에서 백슬래시 이스케이프 기능의 원리에 대한 간략한 분석
本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。
核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r)
我们先来看一个例子:
import re a = re.match('\\\','\\')
File "<ipython-input-93-6e1102e416ee>", line 2 a = re.match('\\\','\\') ^ SyntaxError: unexpected character after line continuation character
上面这个例子本身就不合语法要求,那么为什么呢? 首先在
python中,因为正则表达式本身是一个字符串,所以它要遵守字符串的规则——反斜线表示转义符
而在正则表达式中反斜线又是一个具有转义功能的元字符,所以反斜线具备了双重转义功能
回到例子中,第一个转义了第二个,此时第二个去除了字符串转义符的身份,但是它还有正则表达式转义元字符的身份,也就是说第二个仍然具备转义功能,那么它转义谁呢?它只能转义第三个,可是第三个它具备两层身份(字符串的转义符和正则表达式的转义元字符)
所以现在有两种可能情况发生:
第一种,第二个无法转义第三个,因为身份不符,一个是正则表达式转义元字符,另一个是字符串转义符
第二种,第二个转义了第三个,但是这种转义也仅仅是去除了一层身份,但是它还有一层身分(转义元字符)结果就是第三个仍然具有转义功能。
总之不管这时发生了哪种情况,第三个最终结果就是仍然具备转义功能,他会转义它后面的单引号,使得整段代码语法错误。
所以正确的写法是再添加一个反斜线,四个反斜线,两两转义之后最终转义成匹配单独一个反斜线的功能
import re a = re.match('\\\\','\\') print(a) #显示的结果match='\\',之所以显示两个反斜线是因为语法规定一个反斜线无法显示(\是转义符)
<_sre.SRE_Match object; span=(0, 1), match='\\'>
当然也可以使用原始字符串的方法,在字符串前面加r,这时里面的反斜线就失去字符串转义符的功能了,本文主要讨论实质原理,不是方法
import re a = re.match(r'\\','\\') print(a)
<_sre.SRE_Match object; span=(0, 1), match='\\'>
위 내용은 Python 정규식에서 백슬래시 이스케이프 기능의 원리에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Python 정규식은 Word 파일 처리에서 텍스트, 스타일 및 형식을 신속하게 식별하고 바꾸는 데 도움이 되는 강력한 일치 도구입니다. 이 기사에서는 Word 파일 처리에 Python 정규식을 사용하는 방법을 소개합니다. 1. Python-docx 라이브러리 설치 Python-docx는 Python에서 Word 문서를 처리하기 위한 기능 라이브러리입니다. 이를 사용하여 Word 문서를 빠르게 읽고, 수정하고, 생성하고 저장할 수 있습니다. Python-docx를 사용하기 전에 다음 사항을 확인해야 합니다.

Python 정규식은 텍스트 데이터에서 정확하고 효율적인 일치 및 검색을 수행하는 데 도움이 되는 강력한 도구입니다. 정규식은 숫자와 금액 처리에도 매우 유용하며, 숫자와 금액 정보를 정확하게 찾아 추출할 수 있습니다. 이 기사에서는 Python 정규 표현식을 사용하여 숫자와 금액을 처리하는 방법을 소개하여 독자가 실제 데이터 처리 작업에 더 잘 대처할 수 있도록 돕습니다. 1. 프로세스 번호 1. 정수와 부동 소수점 숫자를 일치시킵니다. 정규식에서 정수와 부동 소수점 숫자를 일치시키려면 d+를 사용하여 일치시킬 수 있습니다.

컨테이너 오케스트레이션에서는 일부 정보를 필터링, 일치 및 교체해야 하는 경우가 많습니다. Python은 이러한 작업을 완료하는 데 도움이 되는 강력한 도구인 정규식을 제공합니다. 이 문서에서는 정규식에 대한 기본 지식, Pythonre 모듈 사용 방법, 몇 가지 일반적인 정규식 애플리케이션을 포함하여 컨테이너 오케스트레이션을 위해 Python 정규식을 사용하는 방법을 소개합니다. 1. 정규식에 대한 기본 지식 정규식(RegularExpression)은 텍스트 패턴을 의미하며,

Python 정규 표현식은 텍스트 데이터를 처리하는 강력한 도구입니다. 자연어 처리에서 단어 분할은 텍스트를 개별 단어로 분리하는 중요한 작업입니다. Python에서는 정규식을 사용하여 단어 분할 작업을 완료할 수 있습니다. 다음은 Python3을 예로 들어 단어 분할에 정규식을 사용하는 방법을 소개합니다. re 모듈 가져오기 re 모듈은 Python의 내장 정규식 모듈입니다. 먼저 모듈을 가져와야 합니다. 정의 텍스트 가져오기

Python은 콘텐츠 추출을 보다 쉽고 효율적으로 만들어주는 풍부한 라이브러리 및 도구 세트를 갖춘 널리 사용되는 고급 프로그래밍 언어입니다. 그 중에서 정규표현식은 매우 중요한 도구인데, 파이썬은 내용 추출을 위해 정규표현식을 사용할 수 있도록 re 모듈을 제공합니다. 이 문서에서는 콘텐츠 추출을 위해 Python 정규식을 사용하는 방법에 대한 구체적인 단계를 소개합니다. 1. 정규식의 기본 구문을 이해합니다. 콘텐츠 추출을 위해 Python 정규식을 사용하기 전에 먼저 정규식의 기본 구문을 이해해야 합니다.

Python 정규식은 패턴 일치를 기반으로 하는 문자열 처리 도구로, 텍스트에서 필요한 정보를 빠르고 효율적으로 추출하는 데 도움이 됩니다. 데이터 구조와 알고리즘에서 정규식을 사용하여 텍스트 일치, 교체, 분할 및 기타 기능을 구현하여 프로그래밍에 더욱 강력한 지원을 제공할 수 있습니다. 이 기사에서는 데이터 구조 및 알고리즘에 Python 정규식을 사용하는 방법을 소개합니다. 1. 정규식에 대한 기본 지식 시작하기 전에 먼저 정규식에 대한 기본 지식을 이해해 보겠습니다. 문자 집합: 대괄호로 표시,

일상적인 코딩에서는 코드의 가독성과 유지 관리성을 높이기 위해 코드를 수정하고 재구성해야 하는 경우가 많습니다. 중요한 도구 중 하나는 정규식입니다. 이 기사에서는 코드 리팩토링을 위해 Python 정규식을 사용하는 방법에 대한 몇 가지 일반적인 기술을 소개합니다. 1. 찾기 및 바꾸기 정규 표현식에서 가장 일반적으로 사용되는 기능 중 하나는 찾기 및 바꾸기입니다. 코드의 모든 인쇄 문을 로깅 문으로 바꿔야 한다고 가정해 보겠습니다. 이를 찾기 위해 다음 정규 표현식을 사용할 수 있습니다: prints*((.

소프트웨어 개발에서는 코드 미학과 사용자 경험이 무시되는 경우가 많아 실제 사용 시 많은 소프트웨어 문제가 발생합니다. 강력한 프로그래밍 언어인 Python은 이러한 문제를 해결하는 데 도움이 되는 강력한 도구로 정규식을 제공합니다. 이 기사에서는 코드 미학과 사용자 경험을 위해 Python 정규식을 사용하는 방법을 소개합니다. 1. Python 정규식 소개 정규식은 텍스트 패턴을 설명하는 언어이며 텍스트를 일치시키고, 찾고, 바꾸고, 분할하는 데 사용할 수 있습니다. Python의 re 모듈은 다음을 제공합니다.
