首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex查询:如何在PDF中搜索一个短语,该短语中的单词出现在多行上?

Regex查询:如何在PDF中搜索一个短语,该短语中的单词出现在多行上?
EN

Stack Overflow用户
提问于 2010-05-07 14:10:08
回答 2查看 375关注 0票数 1

我正试图为我工作的周刊建立一个索引页面。它是向读者展示在那几个星期的问题上提到的公司的名字,再加上他们出现在上面的页码。

我想搜索本周的所有PDF文件,其中一个PDF =一个杂志页(最初是用Adobe CS3和Adobe CS3制作的)。

我已经设置了我想要搜索的公司列表,并且使用PowerGREP和使用分隔的正则表达式,我能够找到大多数提到公司的页码。但是,如果公司名称包含两个或多个单词,则我正在运行的搜索将不会选择名称出现在多行以上的实例.。

例如,在查找"CB Richard Ellis“和"Cushman & Wakefield”时,当文本出现如下时,我没有得到任何结果:

DTZ击败BNP PRE,CB线在这里断线

理查德·埃利斯和库什曼在这里断线

为了确保合同的安全。线路末端在这里

可以建议我如何编写一个正则表达式,该表达式将忽略单词之间的空白,忽略行尾,或者查找包含所有类型空白的单词(即单词之间的不均匀空格;行尾或行尾的空格;以及选项卡(我猜测此信息以某种方式嵌入到PDF文件中)。

下面是我要求PowerGREP搜索的一组术语的示例:

代码语言:javascript
复制
\bCB Richard Ellis\b
\bCB Richard Ellis Hotels\b
\bCentaur Services\b
\bChapman Herbert\b
\bCharities Property Fund\b
\bChetwoods Architects\b
\bChurch Commissioners\b
\bClive Emson\b
\bClothworkers’ Company\b
\bColliers CRE\b
\bCombined English Stores Group\b
\bCommercial Estates Group\b
\bConnells\b
\bCooke & Powell\b 
\bCordea Savills\b
\bCrown Estate\b
\bCushman & Wakefield\b
\bCWM Retail Property Advisors\b

请注意,在每个短语末尾的每个\b和下一个短语的开始之间都有一个分隔的硬返回。

顺便说一句,我是一名制作记者,通常不参与寻找it类型的解决方案,我发现很难掌握PowerGREP站点上的技术语言。

谢谢你的帮助

艾莉森

EN

回答 2

Stack Overflow用户

发布于 2010-05-07 14:22:17

你的名字里有硬编码的空格。用\s+替换它们,您应该会没事的。

例如:

代码语言:javascript
复制
CB\s+Richard\s+Ellis

所发生的是,当你有一个强制行中断,它不再有那个空格(“)字符。相反,它有\n\r\n。使用\s+意味着您正在寻找任何空白字符,包括回车和行提要,数量为一个或多个。

票数 0
EN

Stack Overflow用户

发布于 2010-05-07 14:22:21

匹配空间的正则表达式是\s,所以应该是

代码语言:javascript
复制
\bCB\s+Richard\s+Ellis\b

(\s+ =匹配至少一个空格)。根据操作系统的不同,换行符是\n (换行符)和\r (返回)。因此,使用[] (包括所有[\r\n\s] )组成一个组将产生以下结果:

代码语言:javascript
复制
\bCB[\r\n\s]+Richard[\r\n\s]+Ellis\b
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2789168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档