gpt4 book ai didi

Python 正则表达式 - 在搜索过程中忽略序列

转载 作者:太空宇宙 更新时间:2023-11-04 05:56:07 27 4
gpt4 key购买 nike

我正在尝试用 python 制作一种数据挖掘器。我要检查的是一本希腊语词典。说的字典本来是PDF格式的,我把它转成大致对应的HTML格式,方便解析。我对它做了一些进一步的格式化,因为数据结构被严重扭曲了。

我当前的任务是查找并单独存储各个单词及其描述。因此,想到这一点的第一个想法是首先识别单词,而不是它们的描述。单词空间的标题有一个非常特定的语法,我用它来创建一个相应的正则表达式来匹配它们中的每一个。

不过有一个问题。尽管到目前为止我已经对 HTML 进行了格式化,但仍然有很多点,其中一系列逻辑数据被序列
后跟换行符以随机顺序中断。有什么方法可以指示我的正则表达式“忽略”该序列,即在遇到该特定序列时将其视为不存在,并因此包括那些被它打断的匹配项?

也就是说,不放一个 (< br/>\n)?在我的 RE 的每个部分,涵盖所有可能的情况。

我使用的正则表达式如下:

(ο|η|το)?( )?<b>([α-ωάέήίόύώϊϋΐΰ])*</b>(, ((ο|η|το)? <b>([α-ωάέήίόύώϊϋΐΰ])*</b>))*( \(.*\))? ([Α-Ω])*\.( \(.*\))?<b>:</b>  

当数据没有被上面给出的序列中断时,并且在匹配方面做得很好。

如果不理解,问题在于中断序列可以出现在比赛中的任何地方,因此我正在寻找一种方法,而不是覆盖序列可能出现的每个单独点(在决定是否忽略序列时忽略序列)是否返回匹配项),正如我之前解释的那样。

最佳答案

您要的是一个不同的正则表达式。

新的正则表达式将是旧的,带有(<br\s*?/>\n?)?或在每个非量词字符之后。

您可以编写一些东西来将正则表达式转换为您正在寻找的形式。它会接受您现有的正则表达式并生成一个 br 容错的正则表达式。正则表达式语法中不存在自动为您执行此操作的结构。

我认为更容易的做法是将源文档置换为不包含您希望忽略的序列。这应该是一个简单的文本替换。

如果不是因为您明确使用了 <b>标签的含义,另一种方法是只采用纯文本文档内容而不是 HTML 内容。

关于Python 正则表达式 - 在搜索过程中忽略序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27691566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com