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

如何使用Python正则表达式从含转义字符的字符串中提取目标路径

正确实现方案

你字符串里/bin/之后的内容是ANSI终端颜色控制转义序列,全部以转义字符\x1b开头,只要提取到该字符之前的路径再去掉末尾斜杠即可:

import re

ss = '/users/parun/kk/jdk/bin/\x1b[01;31m\x1b[kjava\x1b[m\x1b[k'
# 正则方案
res = re.match(r'[^\x1b]+', ss).group().rstrip('/')
print(res)
# 输出:/users/parun/kk/jdk/bin

也可以不用正则直接切片,效率更高:

res = ss[:ss.find('\x1b')].rstrip('/')

原代码错误原因

你写的re.split(r'\/\\')规则是匹配/\组合字符,但你的字符串里路径和转义内容的分隔符是\x1b,完全匹配不到对应分隔符,所以无法得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:24:05