如何使用正则表达式提取中英文混合语句中的关键词

你是否曾经遇到过需要从中英文混合的文本中提取关键词的情况?这个问题似乎比较复杂,但是通过合适的正则表达式规则,你可以轻松解决这个问题。在本文中,我将向你介绍如何构建正则表达式规则,以从中英文混合语句中提取关键词。

开始之前的故事

在某个工作场景中,你需要处理本科毕业生的毕业论文,将其中的关键词提取出来,并填充到Excel表格中。学生的关键词信息通常位于PDF文档的摘要部分,这些关键词可能包含中英文混合的文本,关键词之间用空格分隔,关键词后面有时带有冒号,有时没有。此外,每个学生的关键词数量可能不同,最多不超过6个,并且关键词的结束应该是换行符(\n)。

使用Python中的正则表达式

为了提取这些关键词,我们可以使用Python中的正则表达式库re。下面是一个示例代码,演示了如何使用正则表达式来提取关键词:

import re

text = "关键词:Python 多线程 目标检测 Python Flask 框架"

# 构建正则表达式规则
pattern = r'关键词[::]?\s*([^:\n]+)(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?\s*\n'

# 使用正则表达式进行匹配
matches = re.search(pattern, text)

if matches:
    # 提取关键词
    keywords = [match.strip() for match in matches.groups() if match]
    print(keywords)
else:
    print("未匹配到关键词")

这段代码首先构建了一个正则表达式规则pattern,用于匹配关键词。然后,使用re.search()函数在文本text中查找匹配项。如果找到匹配项,就提取关键词并打印出来。

自动获取PDF文档中的关键词

现在你知道如何使用正则表达式提取关键词了,但如何自动获取PDF文档中的文本并应用这个正则表达式呢?下面是一个简单的步骤:

  1. 使用Python的PDF库(如PyPDF2)打开PDF文档并提取文本内容。
  2. 针对每个文档中的摘要部分,应用之前定义的正则表达式规则来提取关键词。
  3. 将提取出的关键词填充到Excel表格中。

下面是一个伪代码示例,展示了如何实现这些步骤:

import re
import PyPDF2
import openpyxl

# 打开PDF文档
pdf_file = open("论文.pdf", "rb")
pdf_reader = PyPDF2.PdfFileReader(pdf_file)

# 创建Excel工作簿
workbook = openpyxl.Workbook()
worksheet = workbook.active

# 定义正则表达式规则
pattern = r'关键词[::]?\s*([^:\n]+)(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?(?:[::]\s*([^:\n]+))?\s*\n'

# 遍历每一页的摘要
for page_num in range(pdf_reader.numPages):
    page = pdf_reader.getPage(page_num)
    page_text = page.extractText()

    # 使用正则表达式提取关键词
    matches = re.search(pattern, page_text)
    if matches:
        keywords = [match.strip() for match in matches.groups() if match]

        # 将关键词填充到Excel表格中
        worksheet.append(keywords)

# 保存Excel文件
workbook.save("关键词.xlsx")

# 关闭PDF文件
pdf_file.close()

这个伪代码示例展示了如何自动获取PDF文档中的关键词并将其填充到Excel表格中。你可以根据自己的实际需求来调整代码,以适应不同的情况。

结论

通过构建适当的正则表达式规则,你可以轻松地从中英文混合语句中提取关键词。这在处理毕业论文或其他文档时非常有用,可以提高工作效率。希望本文对你有所帮助,祝你在处理文本数据时顺利如意!

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:如何使用正则表达式提取中英文混合语句中的关键词

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年9月13日
下一篇 2023年9月13日

相关推荐

  • 如何使用Python编写小说批量下载工具

    在本教程中,我们将学习如何使用Python编写一个小说批量下载工具。这个工具可以帮助我们从小说网站上下载小说内容并保存到本地文件,以便离线阅读。这对于喜欢阅读小说的人来说是一个非常实用的工具,特别是对于那…

    2023年12月18日
    00
  • 如何使用Python爬取豆瓣电影Top250的电影海报

    作为一位电影爱好者,你可能经常关注豆瓣电影上的Top250电影榜单,想要了解哪些电影备受推崇。而且,你可能也希望将一些你喜欢的电影的海报保存下来,以便日后欣赏或分享。但是,手动一个一个点击电影,然后下载海…

    2023年9月21日
    00
  • Python中的常用字符串操作技巧

    在计算机编程中,字符串是一个非常常见且重要的数据类型。无论你是初学者还是有经验的开发者,都会经常处理字符串。本教程将介绍一些Python中常用的字符串操作技巧,帮助你更有效地处理和操作字符串数据。 1. 反转…

    2023年10月20日
    00
  • 从初学者到爬虫高手:XPath、Beautiful Soup和正则表达式的选择

    开场故事 想象一下,你正在探索无尽的互联网,发现了许多有趣的网页,但你需要从这些网页中提取特定的信息,以便进一步分析或存储。这时,你可能会遇到一个重要问题:如何从HTML页面中准确、高效地提取你需要的数据…

    2023年9月19日
    00
  • 正则表达式匹配空格:解锁文本处理的强大工具

    开篇故事:在数字时代,我们每天都与大量的文本数据打交道。无论是在编程中处理文本,还是在文档编辑中查找特定的内容,文本处理都是我们生活和工作中不可或缺的一部分。而正则表达式(Regex)作为文本处理的强大工…

    2023年10月5日
    00
  • 正则表达式在Python爬虫中的应用与处理技巧

    在网络时代,数据是无处不在的。无论您是做市场研究、数据分析还是需要从网站中获取信息,Python爬虫是一个强大的工具,能够帮助您收集、提取和处理网页上的数据。而正则表达式是Python爬虫中不可或缺的工具之一。…

    2023年10月18日
    00