我正试图为我工作的周刊建立一个索引页面。它是向读者展示在那几个星期的问题上提到的公司的名字,再加上他们出现在上面的页码。
我想搜索本周的所有PDF文件,其中一个PDF =一个杂志页(最初是用Adobe CS3和Adobe CS3制作的)。
我已经设置了我想要搜索的公司列表,并且使用PowerGREP和使用分隔的正则表达式,我能够找到大多数提到公司的页码。但是,如果公司名称包含两个或多个单词,则我正在运行的搜索将不会选择名称出现在多行以上的实例.。
例如,在查找"CB Richard Ellis“和"Cushman & Wakefield”时,当文本出现如下时,我没有得到任何结果:
DTZ击败BNP PRE,CB线在这里断线
理查德·埃利斯和库什曼在这里断线
为了确保合同的安全。线路末端在这里
可以建议我如何编写一个正则表达式,该表达式将忽略单词之间的空白,忽略行尾,或者查找包含所有类型空白的单词(即单词之间的不均匀空格;行尾或行尾的空格;以及选项卡(我猜测此信息以某种方式嵌入到PDF文件中)。
下面是我要求PowerGREP搜索的一组术语的示例:
\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站点上的技术语言。
谢谢你的帮助
艾莉森
发布于 2010-05-07 14:22:17
你的名字里有硬编码的空格。用\s+替换它们,您应该会没事的。
例如:
CB\s+Richard\s+Ellis所发生的是,当你有一个强制行中断,它不再有那个空格(“)字符。相反,它有\n或\r\n。使用\s+意味着您正在寻找任何空白字符,包括回车和行提要,数量为一个或多个。
发布于 2010-05-07 14:22:21
匹配空间的正则表达式是\s,所以应该是
\bCB\s+Richard\s+Ellis\b(\s+ =匹配至少一个空格)。根据操作系统的不同,换行符是\n (换行符)和\r (返回)。因此,使用[] (包括所有[\r\n\s] )组成一个组将产生以下结果:
\bCB[\r\n\s]+Richard[\r\n\s]+Ellis\bhttps://stackoverflow.com/questions/2789168
复制相似问题