㈠ python 正则表达式中为什么使用原始字符串
用哪种无所谓,原始字符串不需要转义,容易理解一些
㈡ python中字符串前的r什么意思
Python中,u表示unicode string,表示使用unicode进行编码,没有u表示byte string,类型是str,在没有声明编码方式时,默认ASCI编码。如果要指定编码方式,可在文件顶部加入类似如下代码:
# -*- coding: utf-8 -*-
utf-8是一种支持中文的编码格式。
字母前加r表示raw string,也叫原始字符串常量。一般用在一下两个方面:
1、正则表达式
用于处理正则表达式时,规避反斜杠的转义
(2)pythonre原始字符串扩展阅读:
python在执行代码是,所有的计算都会由内存进行,此时的编码格式是unicode,因为世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。为了统一编码格式,便于计算,就出现了unicode。
㈢ Python 原始字符串匹配问题
r'...',这里的r表示后面的字符串中\将不代表转义符。
这样一来,你rhas里面其实是包含了\这个字符,但换行符只有一个。
至于为什么在匹配的时候,格式字符串带r和不带都可以匹配has,是因为如果不带r,那么就是包含两个换行符,而不包含\,这样它和has是完全一样的内容,自然匹配;而带r的时候,它里面的\其实是被认作规则表达式里的转义符了,这样通过表达式匹配也能匹配上has(但这时t并不等于has,而是一个带转义符的格式字符串)。
说到如何匹配rhas,因为rhas里带有\,而这个\同时又是规则表达式里的转义符,所以就只能用规则表达式的格式字符串来做匹配了,t可以写成:r'hello\\n\nworld',其中\\是用作规则表达式中的转义符,用于匹配一个\字符。把这个格式字符串各个部分拆开来和rhas做对应是这样:
格式:hello \\ n \n world
rhas:hello \ n 换行 world
㈣ python字符串前缀 u和r的区别
(1)以r或R开头的python中的字符串表示(非转义的)原始字符串
python里面的字符,如果开头处有个r,比如:
(r’^time/plus/\d{1,2}/$’, hours_ahead)
说明字符串r"XXX"中的XXX是普通字符。
有普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n"表示换行,"\t"表示Tab等。
而如果是以r开头,那么说明后面的字符,都是普通的字符了,即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。
以r开头的字符,常用于正则表达式,对应着re模块。
关于re模块,详情自己google搜索“python re”。
举例:
原始字符串操作符(r/R),能方便处理反斜杠:
f = open(r'C:\Program
Files\Adobe\Reader 9.0\Setup Files\setup.ini','r')
for i in f:
print i
f.close()
(2)以u或U开头的字符串表示unicode字符串
Unicode是书写国际文本的标准方法。如果你想要用非英语写文本,那么你需要有一个支持Unicode的编辑器。
类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。
举例:
u"This is a Unicode string."
㈤ python3中有没有原始字符串
python3中有原始字符串的。
使用时需在前面加上r
str1=r'C:Windows'
输出结果:C:\Windows