python - 提取单词和分隔符之间的单词python

标签 python regex string

我从word文档(.doc)中提取了一些文本数据并将其存储在变量my_text中 这样

my_text[2] = '2 Running Hrs                         -  \tPort M/E RPM  \t-  \t'

这里的\t是文档本身的分隔符。 我正在尝试提取单词“Running Hrs”和“\t”分隔符之间的单词/字符。 这样我就可以得到输出“-
这里我尝试过

  1. 试用 1

import re
re.search('Running Hrs(.*)\t', my_text[2].strip()).group(1)

输出

 '                         -  \tPort M/E RPM  '
  • 试用 2

  • print(re.findall(r'\Running Hrs([^]\t*)\]', str(my_text[2])))
    

    输出

    ERROR: error: bad escape \R
    

    对此有何建议。

    最佳答案

    您的第一次尝试非常接近您想要的,因为您只需要包含一个 ? 标志即可确保您的捕获组是非贪婪的,如下所示:

    r'Running Hrs(.*?)\t'
    

    如果没有这个 ? 标志,您的捕获组将被视为贪婪,并将尝试尽可能多地匹配,直到最后一个 \t,而非贪婪表达式只会捕获直到第一个 \t

    关于python - 提取单词和分隔符之间的单词python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60558776/

    相关文章:

    python - 在 Python 正则表达式中,如何使最大换行数为 2?

    java - 验证数据时,Java 的lastIndexOf 和indexOf 的正确语法是什么?

    string - 使用 SwiftUI 在 UserDefaults 中保存来自 TextField 的字符串

    python - 查找唯一号码的代码又慢又低效?

    python - 了解马尔可夫决策过程的值(value)迭代算法

    Java RegEx for CSV 5 到 11 位数字列表

    python - 如何最大化正则表达式非贪婪向后工作

    python - 如何通过 gitpython 检查 Git Repo 是否有未提交的更改

    python - 进度条将不需要的字符打印到控制台

    r - 如何匹配不同的重复字符