Home Backend Development Python Tutorial A brief analysis of the principle of backslash escaping function in python regular expressions

A brief analysis of the principle of backslash escaping function in python regular expressions

Oct 09, 2018 pm 04:01 PM
python regular expression

本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。

核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r)

我们先来看一个例子:

import re
a = re.match('\\\','\\')
Copy after login
  File "<ipython-input-93-6e1102e416ee>", line 2
    a = re.match('\\\','\\')
                            ^
SyntaxError: unexpected character after line continuation character
Copy after login

上面这个例子本身就不合语法要求,那么为什么呢? 首先在
 python中,因为正则表达式本身是一个字符串,所以它要遵守字符串的规则——反斜线表示转义符
 而在正则表达式中反斜线又是一个具有转义功能的元字符,所以反斜线具备了双重转义功能

回到例子中,第一个转义了第二个,此时第二个去除了字符串转义符的身份,但是它还有正则表达式转义元字符的身份,也就是说第二个仍然具备转义功能,那么它转义谁呢?它只能转义第三个,可是第三个它具备两层身份(字符串的转义符和正则表达式的转义元字符)

所以现在有两种可能情况发生:

第一种,第二个无法转义第三个,因为身份不符,一个是正则表达式转义元字符,另一个是字符串转义符

第二种,第二个转义了第三个,但是这种转义也仅仅是去除了一层身份,但是它还有一层身分(转义元字符)结果就是第三个仍然具有转义功能。

总之不管这时发生了哪种情况,第三个最终结果就是仍然具备转义功能,他会转义它后面的单引号,使得整段代码语法错误。

所以正确的写法是再添加一个反斜线,四个反斜线,两两转义之后最终转义成匹配单独一个反斜线的功能

import re
a = re.match('\\\\','\\')
print(a)
#显示的结果match='\\',之所以显示两个反斜线是因为语法规定一个反斜线无法显示(\是转义符)
Copy after login
<_sre.SRE_Match object; span=(0, 1), match=&#39;\\&#39;>
Copy after login
Copy after login

当然也可以使用原始字符串的方法,在字符串前面加r,这时里面的反斜线就失去字符串转义符的功能了,本文主要讨论实质原理,不是方法

import re
a = re.match(r'\\','\\')
print(a)
Copy after login
<_sre.SRE_Match object; span=(0, 1), match=&#39;\\&#39;>
Copy after login
Copy after login

The above is the detailed content of A brief analysis of the principle of backslash escaping function in python regular expressions. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use Python regular expressions for Word file processing How to use Python regular expressions for Word file processing Jun 22, 2023 am 09:57 AM

Python regular expression is a powerful matching tool that can help us quickly identify and replace text, styles and formats in Word file processing. This article will introduce how to use Python regular expressions for Word file processing. 1. Install the Python-docx library Python-docx is a functional library for processing Word documents in Python. You can use it to quickly read, modify, create and save Word documents. Before using Python-docx, you need to ensure

How to use Python regular expressions to process numbers and amounts How to use Python regular expressions to process numbers and amounts Jun 23, 2023 am 08:21 AM

Python regular expressions are a powerful tool that help us perform precise and efficient matching and searching in text data. Regular expressions are also extremely useful in the processing of numbers and amounts, and can accurately find and extract the number and amount information. This article will introduce how to use Python regular expressions to process numbers and amounts, helping readers better cope with actual data processing tasks. 1. Process numbers 1. Match integers and floating-point numbers. In regular expressions, to match integers and floating-point numbers, you can use d+ for matching.

How to use Python regular expressions for container orchestration How to use Python regular expressions for container orchestration Jun 22, 2023 am 09:16 AM

In container orchestration, we often need to filter, match, and replace some information. Python provides regular expressions, a powerful tool that can help us complete these operations. This article will introduce how to use Python regular expressions for container orchestration, including basic knowledge of regular expressions, how to use the Pythonre module, and some common regular expression applications. 1. Basic knowledge of regular expressions Regular expression (RegularExpression) refers to a text pattern, used

How to use Python regular expressions for word segmentation How to use Python regular expressions for word segmentation Jun 23, 2023 am 10:37 AM

Python regular expressions are a powerful tool for processing text data. In natural language processing, word segmentation is an important task, which separates a text into individual words. In Python, we can use regular expressions to complete the task of word segmentation. The following will use Python3 as an example to introduce how to use regular expressions for word segmentation. Import the re module The re module is Python's built-in regular expression module. You need to import the module first. import definition text

How to use Python regular expressions for content extraction How to use Python regular expressions for content extraction Jun 22, 2023 pm 03:04 PM

Python is a widely used high-level programming language with a rich set of libraries and tools that make content extraction easier and more efficient. Among them, regular expressions are a very important tool, and Python provides the re module to use regular expressions for content extraction. This article will introduce you to the specific steps on how to use Python regular expressions for content extraction. 1. Understand the basic syntax of regular expressions. Before using Python regular expressions for content extraction, you first need to understand the basic syntax of regular expressions.

How to use Python regular expressions for code refactoring How to use Python regular expressions for code refactoring Jun 23, 2023 am 09:44 AM

In daily coding, we often need to modify and reconstruct the code to increase the readability and maintainability of the code. One of the important tools is regular expressions. This article will introduce some common techniques on how to use Python regular expressions for code refactoring. 1. Find and Replace One of the most commonly used functions of regular expressions is find and replace. Suppose we need to replace all print statements in the code with logging statements. We can use the following regular expression to find it: prints*((.

How to use Python regular expressions for data structures and algorithms How to use Python regular expressions for data structures and algorithms Jun 22, 2023 pm 08:01 PM

Python regular expression is a string processing tool based on pattern matching, which can help us extract the required information from text quickly and efficiently. In data structures and algorithms, regular expressions can be used to implement text matching, replacement, segmentation and other functions, providing more powerful support for our programming. This article will introduce how to use Python regular expressions for data structures and algorithms. 1. Basic knowledge of regular expressions Before starting, let’s first understand some basic knowledge of regular expressions: Character set: represented by square brackets,

How to use Python regular expressions for code aesthetics and user experience How to use Python regular expressions for code aesthetics and user experience Jun 22, 2023 am 08:45 AM

In software development, code aesthetics and user experience are often ignored, which causes many software problems in actual use. Python, as a powerful programming language, provides regular expressions as a powerful tool to help us solve these problems. This article will introduce how to use Python regular expressions for code aesthetics and user experience. 1. Introduction to Python regular expressions Regular expressions are a language that describes text patterns and can be used to match, find, replace and split text. Python’s re module provides

See all articles