You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则无需正向后行断言提取两指定字符串间字符的方案

解决方案

直接用正则捕获组匹配目标字段即可,完全避开正向后行断言的固定宽度限制,适配pandas的列处理场景:

1. 正则写法

匹配规则写为:
^Give me \d+ of (\S+)
其中(\S+)是唯一的捕获组,会自动匹配of 之后的所有非空字符,直到遇到第一个空格为止,刚好符合你的提取要求。

2. pandas 代码示例

假设你要处理的字符串存在df的content列,提取结果存到target列,写法如下:

import pandas as pd

# 提取目标字段
df['target'] = df['content'].str.extract(r'^Give me \d+ of (\S+)')

原理说明

Python 原生re模块的正向后行断言默认要求固定匹配宽度,只有3.10及以上版本支持有限的可变宽度后行断言,兼容性较差。使用捕获组的方式不需要用到后行断言,全版本Python都可正常运行,代码也更简洁。

内容的提问来源于stack exchange,提问作者YevKad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:27:05