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

求可拆分每行内容为integer_1、integer2、无引号字符串的Python3正则表达式

Python3 正则表达式提取整数与文件路径

核心匹配模式

针对每行整数 整数 '文件路径'的格式,推荐使用以下正则表达式:

^(\d+) (\d+) '([^']+)'$

模式拆解

  • ^:锚定行的起始位置,确保从行首开始匹配
  • (\d+):捕获第一个整数,\d+匹配1个及以上数字
  • :匹配两个整数之间的单个空格(若行内分隔是多个空格/制表符,替换为\s+即可)
  • (\d+):捕获第二个整数
  • ':匹配整数与单引号路径之间的空格+单引号
  • ([^']+):捕获单引号内的完整路径,[^']+匹配除单引号外的任意字符
  • '$:匹配结尾的单引号并锚定行尾

Python 代码示例

import re

# 适配单个空格分隔的模式
pattern = r"^(\d+) (\d+) '([^']+)'$"
# 若分隔符是任意空白符(空格/制表符等),用这个模式:
# pattern = r"^(\d+)\s+(\d+)\s+'([^']+)'$"

# 测试行
test_line = "123 456 '/home/user/docs/report.pdf'"

match_result = re.match(pattern, test_line)
if match_result:
    integer_1 = match_result.group(1)
    integer_2 = match_result.group(2)
    file_path = match_result.group(3)
    print(f"整数1: {integer_1}, 整数2: {integer_2}, 文件路径: {file_path}")

特殊情况处理

如果文件路径中包含转义的单引号(比如'user\'s_file.txt'),需要调整正则以支持转义字符:

^(\d+) (\d+) '((?:\\'|[^'])+)'$

这里(?:\\'|[^'])+表示匹配转义单引号\'或非单引号的任意字符,确保转义的单引号不会被当成路径结束符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:45:00