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

如何用正则表达式从Pandas中提取符合规则的路径子串

Pandas 正则提取实现方案

直接使用如下代码即可满足需求:

import pandas as pd
s = pd.Series(['xslF345X03/was-form4_163347386959085.xml', 'xslF345X03/wf-form4_163347386959085.xmlasdf', 'xslF345/X03/wf-form4_163347386959085.xml'])
result = s.str.extract(r'.*(\/.*\.xml)$')

正则表达式说明

r'.*(\/.*\.xml)$' 各部分逻辑完全匹配你的提取规则:

  • .* 采用贪婪匹配规则,会吞掉字符串前面尽可能多的字符,最终停在最后一个符合后续规则的/前
  • () 是捕获组,str.extract会默认返回捕获组内匹配到的内容,也就是你要的提取结果:
    • \/ 匹配斜杠字符
    • .* 匹配斜杠后到.xml前的任意字符
    • \.xml 严格匹配.xml后缀
  • $ 锚定字符串末尾,只有整个字符串以.xml结尾时才会触发匹配,不符合的返回NaN,对应你要求的「不提取」规则

输出结果验证

运行代码后得到的结果和你预期完全一致:

原字符串提取结果
xslF345X03/was-form4_163347386959085.xml/was-form4_163347386959085.xml
xslF345X03/wf-form4_163347386959085.xmlasdfNaN
xslF345/X03/wf-form4_163347386959085.xml/wf-form4_163347386959085.xml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:36:01