一个字后捕捉所有内容

时间:2016-04-22 17:16:36

标签: regex pdf extract sublimetext adobe-reader

我正在尝试使用正则表达式捕获单词Attachment后面的特定行中的任何单词:

这个问题是为了工作,所以这不是一个家庭作业或测试问题。我将以下段落作为www.regular-expressions.info的例子。我没有主修计算机而是心理学,所以这对我来说完全是陌生的。我已经阅读了过去两天的手册,因为这是我的头脑,我不知道如何开始。

我有一项任务涉及将附件链接到Adobe PDF上保存在文件夹(至少500个附件)中的同名文件。我之前做的是手动选择单词并将其链接到文件夹中的特定文件,但是当它们最多可以添加500个附件时,这很麻烦。

我知道一个名为 EVERMAP 的应用程序插件,您可以下载Adobe以自动将特定字词链接到文件夹中的特定文件。但是,它需要我使用正则表达式,我不知道如何使用。

我会在下面的段落中加注我想要捕捉的词语。

  

重复操作员手册将匹配扩展到它们,只有在必须满足余数时才会返回。

     

附件:重复操作员手册

     

星号或星号告诉引擎尝试将前一个标记匹配零次或多次。加号告诉引擎尝试匹配前一个令牌一次或多次。

     

附件:星号和星星引擎

2 个答案:

答案 0 :(得分:1)

Attachment: (.+)应该适用于您的情况,除非此规则还有其他例外情况。正则表达式只是告诉解析器在单词 Attachment:之后捕获1个或多个字符。有关示例

,请参阅here

答案 1 :(得分:1)

就像@Kevin所说,正则表达式很简单。使用Attachment: (.+)

也许您对如何使用Regex感到困惑。我不知道Evermap插件,但您可以将PDF中的所有文本复制到Sublime Text(文本编辑器打开.txt但具有很多功能)并在那里进行Regex部分。然后,由于您不是程序员,因此应删除其他不相关的数据。所以正则表达式将是:

`^\s*Attachment:\s*(.+)$|^(?!Attachment:).+$`

并将其替换为:

`\1`

\1是包含()

中捕获的组值的变量

在Sublime Text中找到Find and Replace,然后在那里应用正则表达式。不要忘记打开正则表达式模式。