Python正则表达式中的原始字符串表示是什么?

Python正则表达式中的原始字符串表示是什么?

更多Python相关文章,请阅读:Python 教程

简介

正则表达式通常被缩写为 regex ,是一组字符,用于指定搜索模式,主要用于文本处理器和搜索引擎来执行查找和替换操作。

在Python中,当一个字符串以字母r或R为前缀,例如r’…’和R’…’,它变成了一个原始字符串。与常规字符串相比,原始字符串将反斜杠()视为文字字符。当使用包含许多反斜杠的字符串,例如正则表达式或Windows上的目录路径时,原始字符串很有用。

不是使用标准的Python字符串表示方法“n”来生成该字符串。相反,Python 2.4.1文档生成包含换行符的单字符字符串。反斜杠(\)字符用于转义具有唯一意义的字符,例如换行符,反斜杠字符或引号字符,根据字符串字面量。

使用的语法

对于正则表达式模式,答案是使用Python的原始字符串表示法;在以“r”为前缀的字符串文字中,反斜杠不会被区别对待。

因此,r” \ n”是一个由字母“\”和“n”组成的双字符字符串,而“\n”是一个由字母“n”组成的单字符字符串。

s=r'lang\tver\nPython\t3'

算法

  • 导入re函数
  • 初始化一个字符串。
  • 使用元字符r或R使用原始字符串表示法。
  • 打印字符串并获取完整字符串,而不转义任何字符。

理解Python原始字符串

示例1

import re
s= r"Hello\tfrom TutorialsPoint\nHi"
print(s)

输出

Hello\tfrom TutorialsPoint\nHi

代码解释

要理解原始字符串的确切含义,让我们考虑下面的字符串,其中包含序列“\n”。

str = "Hello\tfrom TutorialsPoint\nHi"
print(str)

由于s是字面字符串,序列”\t”和”\n”现在将被视为转义字符。因此,如果打印该字符串,将生成必要的转义序列(制表符和换行符)。

Hello   from TutorialsPoint
Hi

如果我们想将s作为原始字符串,会发生什么呢?

# str现在是一个原始字符串
# 这里,两个反斜杠不会被转义
str = r"Hello\tfrom TutorialsPoint\nHi"
print(str)

在这里,两个反斜杠不会被视为转义字符,因此Python不会打印制表符和换行符,而是会字面打印”\t”和”\n”。

Hello\tfrom TutorialsPoint\nHi

可以看到,由于没有字符被转义,输出与输入相同!

当Python字符串失灵时

示例2

import re
s= r"Hello\xfrom TutorialsPoint"
print(s)

输出

Hello\xfrom TutorialsPoint

使用以下方式代替

导入 re
str = r"Hello\xfrom TutorialsPoint"
print(str)

输出结果

Hello\xfrom TutorialsPoint

代码解释

因此,我们甚至不能将其包含在一个字符串文字中。现在,我们该怎么办?

在这种情况下,原始字符串很有用。

通过将值视为简单的原始字符串文字,我们可以快速地将其传递给变量!

str = r"Hello\xfrom TutorialsPoint"
print(str)

现在问题得到了解决,我们可以像处理常规对象一样直接发送这个未处理的文本!

Hello\xfrom TutorialsPoint

结论

Python原始字符串是以”r”或”R”为前缀的字符串文字。例如,r”Hello”是一个原始字符串。原始字符串不将反斜杠(“”)视为转义序列的一部分。它将正常输出。这个特性可以帮助我们通过正常方式无法解码的字符串文字,如序列“\x”。原始字符串将反斜杠视为字面字符。要表示制表符和换行等特殊字符,Python使用反斜杠(\)来表示转义序列的开始。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程