首页 > 编程语言 >关于Python正则式中的r和字符串中的r

关于Python正则式中的r和字符串中的r

时间:2023-10-24 16:22:07浏览次数:31  
标签:字符 匹配 Python 转义 正则 字符串 换行符

 

正则表达式也是字符串,但是不是普通的字符串,其中包含了正则转义和字符串转义。正则表达式前边加r是取消了字符串转义,但是正则转义还在。

例1和例2的对比中,例2的正则表达式取消了普通字符串转义,但是\n在正则表达式里是匹配换行符。

例2和例3的对比中,例3的被匹配对象实际是两个字符,一个是\一个是n,正则是一个换行符,所以匹配不上。

例4中,被匹配对象’\\\n’经过字符串转义,等效为了两个字符,一个是\一个是换行符,正则是一个换行符,所以能够匹配上,而且匹配的是第二个字符,所以索引是(1,2),注意左闭右开。

例5中,正则的’\\n’会转义为两个字符,一个是\,一个是n,被匹配对象也是,所以能够匹配上,索引是(0,2)。

例6中和例5同理,被匹配对象有r的存在,\n不会转义为转义为换行符,所以是两个字符,一个是\一个是n。

例7中,正则的r取消了正则转义,但是字符串转义还在,所以\\\\会转义为\\两个字符,被匹配对象的\\\\会根据字符串转义为\\两个字符,所以匹配结果索引为(0,2)。

同理,大家可以思考下例8,为什么?

标签:字符,匹配,Python,转义,正则,字符串,换行符
From: https://www.cnblogs.com/lgwdx/p/17785102.html

相关文章

  • python 解析User-Agent
    需求:从User-Agent中获取浏览器信息和操作系统信息使用第三方库ua-parser安装pipinstallua-parser使用fromua_parser.user_agent_parserimportParse#解析user_agentparsed_user_agent=Parse(user_agent)print(parsed_user_agent)返回数据{"string":"Mozill......
  • Python打包为可执行exe
    为什么要打包exe有的时候只需要让别人运行某种功能,传输文件以及代码是需要别人配置好一定的环境才可以操作,而打包成exe文件就可以直接运行文件。pyinstaller打包python中常用的打包方式首先进行pyinstaller的安装,打开cmd输入pipinstallpyinstaller-ihttp://pypi.douban.c......
  • 【ChatGPT系列】Python自定义打印各种颜色的日志
    如何在控制台和文件中同时输出日志?要将日志同时输出到文件和控制台,可以创建并配置一个额外的StreamHandler,然后将其添加到Logger中。下面是一个示例代码,演示如何将日志同时输出到文件和控制台:importlogging#创建Logger对象logger=logging.getLogger("example_logger")......
  • C#对没有规律的json字符串转化为对象序列化并遍历读取
    varjsonString={"BillDate":1,"TypeName":0,"StepNum":0,"CollectCode":0,"Uncollected":1,"Tax":0,"AbstractInfo":1}现在我们要对这它进行转化并遍历读取:///<summary>///把json字符串转化为对象//......
  • 洛谷P5706 【深基2.例8】再分肥宅水(Python3)
    关键点:1.同一行输入两个数input().split(),然后list一下存到变量里,这个不多说2。输出两个数Python中默认end=‘\n’,所以不用多写一遍换行。3.输出三位小数这里用到了Python的格式化输出,与c++的格式化输出非常相近,只是符号不同。具体可看这篇blog 代码如下:a=list(input(......
  • python模块导入规则(相对导入和绝对导入)
    python模块可以相对导入和绝对导入,但这两者是不能替换使用的。本文主要讨论工作目录下模块之间的导入规则。其中相对导入前面有一个'.',表示从该脚本所在目录开始索引,而绝对导入前面没有'.',表示从根目录开始索引。首先明确一点,python认为的根目录为当前运行的脚本所在的目录,而......
  • [数据分析与可视化] 基于Python绘制简单动图
    动画是一种高效的可视化工具,能够提升用户的吸引力和视觉体验,有助于以富有意义的方式呈现数据可视化。本文的主要介绍在Python中两种简单制作动图的方法。其中一种方法是使用matplotlib的Animations模块绘制动图,另一种方法是基于Pillow生成GIF动图。目录1Animations模块1.1FuncA......
  • mysql 字符串函数
    mysql字符串函数1、CONCAT(s1,s2,...):表示把字符串s1、s2……拼接起来,组成一个字符串。SELECTCONCAT("A","E","W")--AEW2、CAST(表达式ASCHAR):表示将表达式的值转换成字符串。 SELECTCONCAT(CAST(232ASCHAR),"元")--232元3、CHAR_LENGTH(字符串......
  • Python标准库的入口
    Python有一套很有用的标准库(standardlibrary)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。 我将根据我个人的使用经验中,挑选出标准库三个方面的包(package)介绍:Python增强系......
  • Visual Studio编辑器快速查找项目里的中文字符串
    https://www.cnblogs.com/turnip/p/11087837.html1.ctrl+shift+f打卡全局查找2.输入(".*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*")即搜索文档中代码中文字符串(\".*([^\x00-\xff]).*\")|(\'.*([^\x00-\xff]).*x\') 即搜索""双引号或&quo......