在 Python 正则表达式中指定匹配新行的不同方法

2023-12-14

我发现有不同的方法来匹配 python 正则表达式中的新行。例如,下面代码中使用的所有模式都可以匹配新行

str = 'abc\n123'
pattern = '\n'   # print outputs new line 
pattern2 = '\\n' # print outputs \n
pattern3 = '\\\n' # print outputs \ and new line
pattern4 = r'\n'  # print outputs \n
s = re.search(pattern, str).group()
print ('a' + s + 'a')

我对此有两个问题:

  1. pattern 是换行符,pattern2 和pattern4 是\n。为什么 python 正则表达式为不同的字符串生成相同的模式?

  2. 不知道为什么pattern3也生成相同的模式。当传递给重新解析器时,pattern3 代表 \ + 新行,为什么重新解析器将其转换为仅匹配新行?

我正在使用Python 3


组合\n表示“换行符”bothPython本身and in re表达式以及 (https://docs.python.org/2.0/ref/strings.html).

在常规 Python 字符串中,\n被翻译为换行符。换行符code然后被送入re解析器作为文字字符。

A doublePython 字符串中的反斜杠被转换为单个反斜杠。因此,一个字符串"\\n"内部存储为"\n",并且当发送到re解析器,it反过来识别这个组合\n表示换行代码。

The r符号是避免输入双反斜杠的快捷方式:

在前缀为的字符串文字中,反斜杠不会以任何特殊方式处理'r' (https://docs.python.org/2/library/re.html)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 正则表达式中指定匹配新行的不同方法 的相关文章

随机推荐

  • 如何将自定义日期时间格式转换为时间戳?

    知道为什么我得到下面的结果吗 scala gt val b to timestamp DATETIME ddMMMYYYY HH mm ss b org apache spark sql Column to timestamp DATETI
  • 如何在 Android 自定义键盘中动态更改按键的背景颜色或主题

    我正在开发自定义键盘应用程序 我需要设置或更改键盘的背景主题或颜色 应用程序中的setting xml 视图 用户可以在其中选择不同的背景主题和关键行的不同颜色 在第一次启动应用程序期间 它工作正常 但下次自定义键盘显示主题时不会更改 我正
  • 填充 RecyclerView 时出现 ArrayIndexOutOfBoundsException

    当我尝试填充 RecyclerView 时 我经常收到错误 但该错误似乎发生在内部StaggeredGridLayoutManager 我从数据库填充 RecyclerView 然后使用此将图像添加到我的适配器 List
  • mysql:将分数字符串转换为数字

    我有像 3 4 和 5 9 这样的字符串 还有一些像 1 2 km 和 3 4 Degree 存储在mysql列中 我想将它们转换成数字 在第一种情况下 3 4 gt 0 75 在更复杂的第二种情况下 去掉 公里 和 度 等单位 这样 1
  • 显示隐藏键盘在 Android PhoneGap 中无法正常工作

    我按照此链接使用 Simon mac donald Defination 1 来使用键盘事件 在这种情况下 当键盘隐藏时我会显示我的页脚 当键盘显示时我会隐藏我的页脚 字典我的键盘是show但事件是转到键盘hide功能 所以我的页脚显示 我
  • 使用 Javascript 的仅会话 cookie

    我想知道是否可以使用 Javascript 创建仅会话 cookie 当浏览器关闭时 cookies 应该被删除 我无法在服务器上使用任何内容 因为该网站仅是 HTML 所以没有使用服务器端脚本 我在这里读到了一些相关内容 http blo
  • 埃拉托斯特尼筛法 - 寻找素数 Python

    只是澄清一下 这不是作业问题 我想为我正在构建并遇到的数学应用程序找到素数埃拉托斯特尼筛法方法 我已经用 Python 编写了它的实现 但速度非常慢 比如说 如果我想找到所有小于 200 万的素数 需要 gt 20 分钟 我此时停止了 我怎
  • WPF 日历:绑定到 MVVM 命令?

    我正在将 WPF 日历连接到 MVVM 视图模型 我不确定如何将日期选择和月份更改绑定到 MVVM ICommand 对象 例如 要处理选定的日期更改 我将在 XAML 中将什么对象绑定到视图模型中相应的命令属性 据我所知 我被代码隐藏中的
  • 动态惰性列表

    大家好 我想做this懒惰者动态 我首先尝试过使用图像 但它会强制关闭 如果我的方法有误 请指导 这是代码 public class Test extends Activity ListView list LazyAdapter adapt
  • Breeze.js 混合 DTO 和实体

    在沃德的文章中 Breeze 服务器 随心所欲 典型的业务应用程序至少有 200 个领域模型 类型 90 以上的时间我通过网络发送的数据的形状 电线与我的商业模型中实体的形状相同 当客户实体的形状与实体的形状不一致时 服务器端业务实体 我可
  • Android studio - 应用程序在跨步时崩溃

    当我在调试模式下进行单步执行 快捷键 F8 时 我在 Android studio 中遇到崩溃 如果我设置断点 那么它会跳转到下一个断点 使用快捷键 F9 我遇到以下错误 A zygote jdwp handler cc 1221 Chec
  • 使用“set time_zone = ...”连接到数据库后更改时区

    我试图在连接到数据库后立即将时区更改为 欧洲 伦敦 这是我原来的代码 pdo new PDO mysql host localhost dbname exampletable exampleuser examplepassw array P
  • 从 Django 中的表单发送 DELETE 请求

    我正在尝试从 Django 中的表单发送 DELETE 请求 并从 jQuery 获取帮助 参考下面的链接 https baxeico wordpress com 2014 06 25 put and delete http request
  • 如何将依赖项注入到XUnit中的IClassFixture中?

    我正在使用 XUnit 需要在运行测试套件之前执行一些操作 所以 我尝试使用XUnit的IClassFixture功能 但我找不到将依赖项注入 Fixture 类的方法 我的代码结构如下 public class MyFixture IDe
  • 计算 gluLookAt、glOrtho 和 glFrustum

    我正在做一项绘制线框过剩标准对象的作业 这看起来很简单 但我们被告知不能使用 gluAtLook glOrtho glFrustrum 但必须使用 glTranslate glScale 和 glRotate 如何在不使用 glMatrix
  • 如何获取IP地址列表?

    我有一系列 IP 地址 1 48 0 0 1 51 255 255 如何获取IP地址列表 from struct import from socket import for ip in xrange unpack I inet pton A
  • 0 到 100 之间数字的正则表达式?

    它不应该允许前导零 例如099 允许的值应如下所示 35 99 1 2 3 100 这是我尝试过的 createCoupon discountAmount bind input propertychange function this va
  • 减少播放远程视频内容时的初始延迟

    您好 使用 MPMoviePlayerController 将视频流式传输到应用程序中 但是 加载需要很长时间 我希望能够预先缓冲视频 有什么建议么 Use MPMoviePlayerControllerInstance prepareTo
  • Python - 在对齐的列中打印 CSV 字符串列表

    我编写了一段与两者完全兼容的代码片段Python 2 and Python 3 我写的片段解析数据它构建了输出为 CSV 字符串列表 该脚本提供了一个option to 将数据写入CSV file or 将其显示给stdout 虽然我可以轻
  • 在 Python 正则表达式中指定匹配新行的不同方法

    我发现有不同的方法来匹配 python 正则表达式中的新行 例如 下面代码中使用的所有模式都可以匹配新行 str abc n123 pattern n print outputs new line pattern2 n print outp