正向回顾与非捕获组:不同的行为

2024-01-08

我使用 python 正则表达式(remodule) 在我的代码中并注意到在这些情况下的不同行为:

re.findall(r'\s*(?:[a-z]\))?[^.)]+', 'a) xyz. b) abc.') # non-capturing group
# results in ['a) xyz', ' b) abc']

and

re.findall(r'\s*(?<=[a-z]\))?[^.)]+', 'a) xyz. b) abc.') # lookbehind
# results in ['a', ' xyz', ' b', ' abc']

我需要得到的只是['xyz', 'abc']。为什么这些示例的行为不同以及如何获得所需的结果?


原因a and b都包含在第二种情况是因为(?<=[a-z]\))首先会找到a)因为环顾四周不会消耗你的任何角色back在字符串的开头。现在[^.)]+火柴a

现在你在).既然你已经做了(?<=[a-z]\))选修的[^.)]+火柴xyz

重复同样的事情b) abc

remove ?从第二种情况,你会得到预期的结果,即['xyz', 'abc']

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

正向回顾与非捕获组:不同的行为 的相关文章

随机推荐

  • 排除在 TypeScript 中监视的目录

    watch是开发过程中的一个巧妙的功能 但是 在我的应用程序中 我将文件上传到名为的目录tmp 每当文件上传到此目录时 我的应用程序都会重新编译 这会导致各种问题 我想排除tmp免遭监视 到目前为止我尝试过添加tmp to the excl
  • Python 在 Javascript / jQuery 中的部分等效

    Python 的等价物是什么functools partial https docs python org 2 library functools html functools partial在 JavaScript 或 jQuery 中
  • 未找到 IPython 命令 OSX 终端。点安装

    使用通过自制程序安装的 Python 2 7 然后我使用 pip 安装 IPython 因此 IPython 似乎安装在 usr local lib python2 7 site packages 我认为这是真的 因为有一个 IPython
  • 如何保护 ASP.NET_SessionId cookie 的安全?

    我已将 ASPXAUTH cookie 设置为仅 https 但我不确定如何有效地对 ASP NET SessionId 执行相同操作 整个站点使用 HTTPS 因此 cookie 无需同时适用于 http 和 https 要添加 secu
  • 为什么“queueInputBuffer”中的“MediaCodec CodecException”仅发生在 Android API 29 上?

    基本信息 目标SDK版本28 Goal 课程的目标是在发送到我的服务器之前调整视频大小 Problem 应用程序仅在 API 29 上崩溃 无论是使用真实设备还是使用 AVD 例如 该代码可以正常工作像素 2 API 28 但不是在像素 2
  • 使用 CoreText 显示 NSAttributedString

    我听说我可以使用 CoreText 显示 NSAttributedString 有人能告诉我如何 最简单的方法 吗 请不要使用 CATextLayer 或 OHAttributedLabel 进行回答 我知道这个论坛有很多关于这个的问题 但
  • webdriver.Dispose()、.Close() 和 .Quit() 之间的区别

    这些有什么区别 Webdriver Close Webdriver Quit Webdriver Dispose 何时使用哪一个 这是一个很好的问题 我见过人们在不应该使用 Close 的情况下使用 Close 我查看了 Selenium
  • 在 VBA 中触发完整计算

    给定一个包含大量公式的工作簿 我意识到当其单元格值是最新的时 F9 ActiveWorkbook Calculate or Sheets 1 calculate不会触发重新计算 但是 如果另一个单元格通过公式引用的单元格值发生变化 F9 A
  • rand() 即使在 srand(time(NULL)) 之后也不会生成随机数

    我正在尝试使用循环调用类函数 for int i 0 i lt Basket getLemonNum i lemonWeights i Fruit generateWeight fruit fruitWeight cout lt lt le
  • Kendo UI Web 和 Kendo UI ASP.NET for MVC 之间的区别

    通过 Visual Studio 创建 MVC 项目时 视图是使用 cshtml 文件创建的 KendoUI Server Wrappers 在视图中有一个模型 而 KendoUI Web 不仅没有任何模型 而且没有 cshtml 文件 仅
  • 使用 raise_application_error 的 PL SQL 触发器会引发错误。

    我有一些代码需要帮助调试 但我觉得如果我能让其中一个运行 我就能得到其余的 哦 我多么希望 create or replace trigger minimumwage before insert or update on Employee
  • BLE 设备可以充当信标吗

    这可能是一个错误的问题 但只需要知道这是否可行 对于我们的一款 BLE 设备 制造商数据是使用使用 peripheral advertisement manufacturerData manufacturerData
  • Json 架构文件不会在 BigQuery Python API 中执行

    我在使用 Bigquery Python API 时遇到问题 这是我执行脚本时的堆栈跟踪 Traceback most recent call last File createTable py line 17 in
  • 当目标(后端)应用程序在同一 EC2 的多个端口上运行时的 AWS ELB

    我有 2 个相同 Web 应用程序的实例在端口 8080 和 8081 上运行 我需要使用 ALB CLB 进行负载平衡 这在旧的 apache Web 服务器中曾经是一件简单的事情 要求是对下面的实例进行负载平衡 实例 1 Web 应用程
  • 在图像上使用文本塑造形状

    所以我想使用 CSS 在图像上放置一个三角形 确切地说是一个包含一些文本的三角形 像这样的事情 https sketch io render sk 11fa7e2aeba09cb08372f831f84d9af2 jpeg https sk
  • 在React JS中实现状态变化时的过渡效果

    我的 React 页面上有一张图像 当状态更新为新图像时我想执行以下过渡效果 原始图像应该放大和淡出 新图像还应该放大和淡入 效果应该类似于穿过墙壁到达新场景 我怎样才能在 React 中做到这一点 正如 pgsandstrom 提到的 反
  • 使
  • 元素拉伸得比包含的
  • 目前 我正在开发一个工作布局 但我对动态下拉菜单有点困惑 我在 li 元素中使用子 ul 该元素将显示导航链接的子项 但上面的 li 因此是主要的 您将鼠标悬停在其上以查看子项 延伸到 ul 的长度 当然是由其中的 li 元素的宽度定义的
  • 如何使用KeyEventDispatcher

    我一直在尝试制作一个 Pong 克隆作为初学者的项目 但我遇到了障碍 我已经设法达到键盘支持的目的 但是键盘重复延迟开始出现 我还没有找到任何可用的方法来使用 KeyEventDispatcher 它甚至不会启动dispatchKeyEve
  • 使用 boto3 列出 100 多个堆栈

    我们需要列出所有处于 CREATE COMPLETE 状态的堆栈 在我们的 AWS 账户中 我们有超过 400 个这样的堆栈 我们为此编写了以下代码 stack session session client cloudformation l
  • 正向回顾与非捕获组:不同的行为

    我使用 python 正则表达式 remodule 在我的代码中并注意到在这些情况下的不同行为 re findall r s a z a xyz b abc non capturing group results in a xyz b ab