首页 > 编程语言 >Python正则表达式匹配一段英文中包含关键字的句子

Python正则表达式匹配一段英文中包含关键字的句子

时间:2023-02-01 22:34:23浏览次数:52  
标签:匹配 关键字 Python blog 正则表达式 re problem my 句子

1.问题/需求

在含有多行文字的英文段落或一篇英文中查找匹配含有关键字的句子。

例如在以下字符串:

text = '''Today I registered my personal blog in the cnblogs and wrote my first essay. 
The main problem of this essay is to use python regular expression matching to filter out 
sentences containing keywords in the paper. To solve this problem, I made many attempts 
and finally found a regular expression matching method that could meet the requirements 
through testing. So I've documented the problem and the solution in this blog post and 
shared it for reference to others who are having the same problem. At the same time, 
this text is also used to test the feasibility of this matching approach. Some additional 
related thoughts and ideas will be added to this blog later.'''

中匹配含有’blog‘的句子。

 2.解决方法

因为要找出所有含有关键字的句子,所以这里采用re库中findall()方法。同时,由于所搜索的字符串中含有换行符'\n',因此向re.compilel()传入re.DOTALL参数,以使'.'字符能够匹配所有字符,包括换行符'\n'。这样我们匹配创建Pattern对象为:

newre = re.compile('[A-Z][^.]*blog[^.]*[.]', re.DOTALL)
newre.findall(text) # 进行匹配
# 结果为:
['Today I registered my personal blog in the cnblogs and wrote my first essay.',
"So I've documented the problem and the solution in this blog post and \nshared it for reference to others who are having the same problem.",
'Some additional \nrelated thoughts and ideas will be added to this blog later.'] # 这其中的'\n'就是换行符, 它在字符串中是不显示的, 但是匹配结果中又显示出来了

 

标签:匹配,关键字,Python,blog,正则表达式,re,problem,my,句子
From: https://www.cnblogs.com/blogLYP/p/17080272.html

相关文章

  • Python读取大量Excel文件并跨文件批量计算平均值
      本文介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法。  首先,让我们来看一下具体需求:目前有一个文件夹,其中存放了大量Excel文件;文件名称......
  • Python标准库中的编码风格整理
    目的:提高源程序的质量和可维护性缩进一律使用4个空格代表一层缩进,不允许使用Tab一行字符最多为79个,既在80列时换行对顺序排放的大块文本(文档字符串或注释),推荐将长度限制在......
  • Python实现文件编码转换GB2312、GBK、UTF-8
    Python实现文件编码转换GB2312、GBK、UTF-81、查看文件编码格式importchardetfilename='./flash.c'withopen(filename,'rb')asf:data=f.read()encoding_ty......
  • Python网络编程—TCP客户端和服务器
    Python网络编程—TCP客户端和服务器客户端importsocket'''客户端创建步骤:1、创建网络套接字2、连接到目标IP地址和端口3、收发数据4、关闭套接字'''IP=socket.gethostnam......
  • Python连接MySQL数据库
    Python连接MySQL数据库安装MySQL参考链接安装NavicatPremium16参考链接连接MySQL安装库pipinstallpymysqlMySQL封装#!/usr/bin/envpython#-*-coding:ut......
  • python语言命名规则
    和C/C++、Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展......
  • Python 笔记 2
    序列常用序列有:字符串,列表,元组,字典,集合此图提前展示列表列表的创建使用[]列表的创建与元素的提取法一:法二:list()创建[========]range()创建一个整数列表标准......
  • linux离线部署python项目
    离线部署直接在内网隔离的环境中。不能直接pipinstall或者apt-getinstall(Ubuntu、Debain)准备:与离线环境相同版本的服务器Python(web)项目依赖pipwheel强大的pip命......
  • Python之字典查找元素(3种方式)
    本文描述的是查找字典的某一个元素(字典遍历元素请点击->这里)上下文代码smart_girl={"name":"yuanwai","age":25,"sex":"女"} 第一种方式:[]注意:这种......
  • python连接mysql并使用
    由于mysql体积小,速度快,成本低,源码开放,所以一些中小型系统开发都采用mysql我们连接mysql采用的工具包是pymysql1.安装pymysqlpipinstallpymysql2.pymysql工作图......