python 正则表达式仅匹配最后一次出现

2023-11-29

我在为重复字符串模式实现正则表达式时遇到一些问题。

>>> re.findall('(\(\w+,\d+\)(?:,)?)+', '(a,b),(c,d),(e,f)')
['(e,f)']

我也想购买其他物品

非常感谢帮助


去除+;你的模式匹配all出现次数,但该组只能捕获一次出现情况,您不能以这种方式重复捕获组:

>>> import re
>>> re.findall('(\(\w+,\w+\),?)+', '(a,b),(c,d),(e,f)')
['(e,f)']
>>> re.findall('\(\w+,\w+\),?', '(a,b),(c,d),(e,f)')
['(a,b),', '(c,d),', '(e,f)']

我在哪里替换了\d with \w为了演示,并删除了逗号周围多余的非捕获组。最外面的捕获组也是多余的;没有它,re.findall()返回整个匹配的表达式。

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

python 正则表达式仅匹配最后一次出现 的相关文章

随机推荐

  • 检查 docx 是否损坏

    我尝试了很多解决方案 但代码总是检查损坏的文件并发送 true using FileStream fileStream File OpenRead path 0 MemoryStream memStream new MemoryStream
  • 为什么 CMD 转义字符有魔力而不是转义换行符

    我尝试执行简单的脚本 set list a b c echo list 输出是 a b a b 虽然我预计它是 a b c 引号似乎破坏了一切 因为如果 b 没有引号 则一切正常 我也很奇怪为什么它只在第二条新线转义时中断 那么 为什么输出
  • 如何在VS2013中隐藏引用计数?

    Visual Studio 2013 引入了一项新功能 它可以显示每种方法的使用次数 我觉得它不是很有用 而且它弄乱了我的文件间距 我如何禁用它 似乎找不到这个选项 我猜您可能正在运行 VS2013 Ultimate 的预览版 因为它没有出
  • 将 *array 分配给指针

    以下内容摘自Harbinson Steele C 参考手册 第五版 根据书中的两个作业p是等价的 7 5 6 地址运算符 int a 10 p p a p a 然而 根据 C faq问题 6 12 a是指针类型int然而 a是指向数组的指针
  • 无法将 macOS-arm64 的库与 macOS-arm64 的可执行文件链接

    I have some trouble with creating a build system on a Monterey M1 MacBook 到目前为止 我有一个可用的 Makefile 来构建和链接库 简化 g c所有 cpp 文件
  • Android NDK 中的 ICU 库

    我正在尝试为依赖于 ICU 库 libicuuc so 和 libicui18n so 的 C 库创建 JNI 包装器 我尝试在 NDK 标准版本和 CrystaX 版本 在 Mac OS X 机器上 中构建 ICU4C 并不断遇到如下链接
  • 从 Android Activity 调用 javascript 函数

    我在主活动中使用以下代码 其给出的函数 display 未定义 public class cordovaExample extends DroidGap Context mcontext private novel n private Se
  • Spring + Hibernate +JTA - HibernateTransactionManager 或 JTATransactionManager

    我要整合Spring and 休眠并使用JTA用于管理交易 我还想将事务处理委托给应用程序服务器 在我的例子中是 JBoss 我对 的配置有疑问事务管理器 春天的豆子 1 我们可以使用Hibernate事务管理器并设置属性hibernate
  • 设计一个仅适用于 Android 平板电脑的应用程序 [重复]

    这个问题在这里已经有答案了 假设我想构建 2 组不同的仅限平板电脑的布局 一台适用于 600dp 7 英寸平板电脑 1024x600 一台适用于 720dp 10 英寸平板电脑 1280x720 或 1280x800 据我所知 在 andr
  • 无法上传图像(HttpPostedFileBase 为 Null)

    我尝试使用图像上传器 但是当我单击浏览并选择图像然后提交表单时 HttpPostedFileBase 为空 我的实施有遗漏吗 请帮忙 View
  • 如何解决共享 Google Apps 脚本库的“此应用程序被阻止”错误?

    我正在尝试创建一个可以在 Google 表格电子表格中重复使用的 Google Apps 脚本 GAS 库 下列的这些说明 这是我到目前为止所做的 创建了一个新项目谷歌云平台 在步骤 1 中为项目启用 Google Sheets API 在
  • 用户卸载 Android 应用程序时的通知

    当用户从他 她的 Android 设备卸载我的应用程序时 有没有办法收到通知 不 您可以使用 PACKAGE REMOVED 广播接收器获取其他应用程序卸载事件 但不能获取应用程序本身卸载的事件 因为它已被删除 请参阅文档here
  • 如何更新正在运行的 EXE?

    如何用新版本替换正在运行的 EXE 你能行的this way 重命名正在运行的 EXE 将新版本复制到旧名称 当新版本启动时删除重命名的EXE 请注意 这绝对是不推荐的行为
  • Javascript 从单独的 php 脚本获取输出

    我希望 javascript 能够使用 jQuery 调用 php 脚本 它只是回显一个字符串 I think get是正确的方法 但不太确定 然后我想使用返回的字符串作为 JavaScript 变量 get 确实是可行的方法 首先 您需要
  • 如何使用 .NET 4 将自定义属性添加到 Word 文档?

    使用 NET 4 如何向文档添加自定义属性 我假设事情是这样的 WordApp an instance of Microsoft Office Interop Word Application ActiveDocument CustomDo
  • Python:Pandas Dataframe 如何将整列与标量相乘

    如何将数据帧给定列的每个元素与标量相乘 我尝试过寻找SO 但似乎找不到正确的解决方案 做类似的事情 df quantity 1 trying to multiply each row s quantity column with 1 给我一
  • 如何通过 JNDI 检索 LDAP 密码

    我可以通过 JNDI 读取 LDAP 中存储的密码 但结果是一些乱码字符 那么我该如何解密呢 下面是我的代码 public static void main String args String INITCTX com sun jndi l
  • 如何在 BASH 中将 csv 文件读入二维数组?

    如何在 BASH 中将 csv 文件读入二维数组 该脚本需要足够动态 可以获取行数和列数可变的 csv 文件 例如 如果我有一个 csv 文件 如下所示 AVERAGE STDEV MAX 17 18 19 or AVERAGE STDEV
  • 文件下载后执行页面导航并发送重定向

    我需要找到一种在生成文件下载后执行页面导航的方法 到目前为止 我已经准备好文件下载并开始工作 FileInputStream stream new FileInputStream file FacesContext fc FacesCont
  • python 正则表达式仅匹配最后一次出现

    我在为重复字符串模式实现正则表达式时遇到一些问题 gt gt gt re findall w d a b c d e f e f 我也想购买其他物品 非常感谢帮助 去除 你的模式匹配all出现次数 但该组只能捕获一次出现情况 您不能以这种方