python - 使用正则表达式查找包含特定表达式的句子

标签 python regex findall

这是一个关于编程的学校项目,我应该只使用重新导入。

我正在尝试查找文本文件中包含由参数定义的特定表达式的所有句子,并将它们提取到列表中。搜索其他帖子让我找到了句子开头和结尾的点,但如果其中有一个带有点的数字,它就会破坏结果。

如果我有一个txt:这是一个文本。我不希望结果停在数字 990.576 处,我想用这个表达式提取短语。它不起作用。

search = re.findall(r"([^.]*?"+expression+"[^.]*\.", txt)

我得到的结果是['576,我想用这个表达式提取短语',]

我想要的结果是['我不希望结果停在数字990.576,我想用这个表达式提取短语。']

我还是初学者,有什么帮助吗?

最佳答案

如果我没记错的话,你想拆分句子。为了这个目标,最好的正则表达式是这样的:

sentences = re.split(r' *[\.\?!][\'"\)\]]* *', txt)

如果这不起作用。您可以通过以下正则表达式将句子中的多余点替换为逗号:

txt = re.sub(r'(\d*)\.(\d+)', r'\1,\2', txt)

关于python - 使用正则表达式查找包含特定表达式的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53445403/

相关文章:

.net - 代理对检测失败

Java:用于匹配引号之间单词的正则表达式

Python ElementTree 模块 : How to ignore the namespace of XML files to locate matching element when using the method "find", "findall"

python - F.monotonicly_increasing_id() 返回长随机数

python - 什么是 Python 中的对象引用?

javascript - Chrome ✗ vs Firefox 中 ES6/Unicode 正则表达式中的逻辑 OR 序列 ✓

grails - Grails GORM findAll返回null集合

python - 使用 BeautifulSoup 提取带有嵌入链接的文本

python - RabbitMQ、Pika和重连策略

python - 连接 Django 和 MSSQL 服务器