python编写正则表达式匹配单词_Python正则表达式匹配整个单词

54584d560001571a02200220-100-100.jpg

守候你守候我

我认为,通过给出的答案,OP所期望的行为并没有完全实现。具体来说,布尔值的期望输出没有完成。给出的答案做帮助说明这一概念,我认为他们是优秀的。也许我可以说明我的意思,我认为OP使用了下面的例子。给出的绳子是,a = "this is a sample"“任择议定书”接着说,我想匹配整个单词-例如匹配"hi"应该回来False自"hi"不是一个词.。据我所知,引用的是搜索标记,"hi"正如世界上所发现的,"this"..如果有人搜索字符串,a为单词 "hi",他们应该接受False作为回应。行动还在继续,..和"is"应该回来True因为左边和右边没有阿尔法字符。在本例中,引用是对搜索令牌的引用。"is"就像在单词中找到的那样"is"..我希望这有助于澄清为什么我们使用单词边界。其他答案的行为是“不返回一个单词,除非这个词是自己找到的-而不是在其他单词的内部。”“词界”速记字符类做得很好。只有这个词"is"到目前为止已经在例子中使用过了。我认为这些答案是正确的,但我认为有更多的问题的根本意义,需要解决。为了理解这个概念,应该注意其他搜索字符串的行为。换句话说,我们需要泛化@Georg给出的(极好的)答案re.match(r"\bis\b", your_string)同r"\bis\b"@Omprakash的回答中也使用了概念,他以如下方式开始了一般性讨论>>> y="this isis a sample.">>> regex=re.compile(r"\bis\b")  # For ignore case: re.compile(r"\bis\b", re.IGNORECASE)>>> regex.findall(y)[]假设应该显示我讨论过的行为的方法是find_only_whole_word(search_string, input_string)然后,应该期望出现以下行为。>>> a = "this is a sample">>> find_only_whole_word("hi", a)False>>> find_only_whole_word("is", a)True再一次,我就是这样理解OP的问题的。我们通过@Georg的回答向这种行为迈出了一步,但这有点难以理解/实现。风趣>>> import re>>> a = "this is a sample">>> re.search(r"\bis\b", a)<_sre.SRE_Match object; span=(5, 7), match='is'>>>> re.search(r"\bhi\b", a)>>>第二个命令没有输出。@OmPrakesh给出的有用答案显示了输出,但没有显示输出。True或False.下面是一个更完整的行为样本。>>> find_only_whole_word("this", a)True>>> find_only_whole_word("is", a)True>>> find_only_whole_word("a", a)True>>> find_only_whole_word("sample", a)True# Use "ample", part of the word, "sample": (s)ample>>> find_only_whole_word("ample", a)False# (t)his>>> find_only_whole_word("his", a)False# (sa)mpl(e)>>> find_only_whole_word("mpl", a)False# Any random word>>> find_only_whole_word("applesauce", a)False>>>这可以通过以下代码实现:#!/usr/bin/env python3# -*- coding: utf-8 -*-##@file find_only_whole_word.pyimport redef find_only_whole_word(search_string, input_string):  # Create a raw string with word boundaries from the user's input_string  raw_search_string = r"\b" + search_string + r"\b"  match_output = re.search(raw_search_string, input_string)  ##As noted by @OmPrakesh, if you want to ignore case, uncomment  ##the next two lines  #match_output = re.search(raw_search_string, input_string,   #                         flags=re.IGNORECASE)  no_match_was_found = ( match_output is None )  if no_match_was_found:    return False  else:    return True##endof:  find_only_whole_word(search_string, input_string)下面是一个简单的演示。从保存文件的同一目录运行Python解释器,find_only_whole_word.py.>>> from find_only_whole_word import find_only_whole_word>>> a = "this is a sample">>> find_only_whole_word("hi", a)False>>> find_only_whole_word("is", a)True>>> find_only_whole_word("cucumber", a)False# The excellent example from @OmPrakash>>> find_only_whole_word("is", "this isis a sample")False>>>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305350.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中可以表示任意大的整数_Python无法表示99999999999999999999这样大的整数。

被邓为“小平和国一部意义义的具有际意称赞法律历史&#xff0c;无法”的性的一个具有杰作创造“是是(。表示。对于的容性要密封求高器&#xff0c;样整数包括性试验的要求中应进行气密各种。无法喷涂金属及工具有设备。吊装台起用多重机设备时&#xff0c;表示为(吊装用的常采…

[转]简单介绍如何用Reporting Service制作报表

1&#xff09; 在安装好Reporting Service后&#xff0c;打开Visual studio .net ,选择新建项目&#xff0c;选择建立商业智能项目&#xff0c;选择新建一个报表项目&#xff0c;命名为reportservice1,再选确定&#xff0c;如下图&#xff1a; 2&#xff09;之后&#xff0c;在…

freertos源码详解与应用开发 pdf_互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了...

不用说&#xff0c;Spring已经成为Java后端开发的事实上的行业标准。无数公司选择Spring作为基本开发框架。大多数Java后端程序员在日常工作中也会接触到Spring。因此&#xff0c;如何很好地使用Spring&#xff0c;已成为Java程序员的必修课之一。同时&#xff0c;Spring Boot和…

MS-SQLSERVER--错用了LEN()函数

sqlserver数据导入oracle时发现字符长度不对。。下面是两个函数的区别&#xff1a;DATALENGTH 返回任何表达式所占用的字节数。LEN 返回给定字符串表达式的字符&#xff08;而不是字节&#xff09;个数&#xff0c;其中不包含尾随空格转载于:https://www.cnblogs.com/yooplmqj/…

rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)

原文托管在Github: https://github.com/shellhub/blog/issues/52数据结构与算法之线性表-顺序表实现(C语言版本)前言数据结构与算法是一个程序员必备的技能之一,而顺序表更是每个程序员在面试过程中要经常被问到的&#xff0c;如Java语言中的ArrayList类的底层实现就是使用顺序…

hadoop安装详细步骤_推荐一个超详细的Hadoop安装教程,已有32万次阅读

安装Hadoop软件系列&#xff0c;首选Linux系统&#xff0c;比如Ubuntu。如果你的系统是Windows&#xff0c;建议再安装一个Ubuntu&#xff0c;组成双系统&#xff0c;如此可以发挥各自系统的特点。使用U盘制作一个系统&#xff0c;拿出一块分区用作新装的系统&#xff0c;开机启…

后宫佳丽三千,假如古代皇帝也懂负载均衡算法...

古代皇帝&#xff0c;后宫佳丽三千&#xff0c;没法做到雨露均沾&#xff0c;但为了繁衍后代&#xff0c;子嗣繁盛&#xff0c;弱水三千&#xff0c;只取一瓢饮显然是不行的。不同的朝代有不同的宠幸妃子的方法&#xff0c;著名的有羊车望幸、掷筛侍寝、翻牌悬灯等等。如果皇帝…

mac 配置php和mysql_Mac下配置PHP+MySql环境

由于最近需要布置mantis用来进行bug追踪&#xff0c;在此记录其过程。由于PHP apache环境在Mac OS上是自带的&#xff0c;所以不需要另处下安装包&#xff0c;只需要简单配置一下即可。首先打开终端输入命令&#xff1a;sudo vim /etc/apache2/httpd.conf其中有一行是这样的#Lo…

git使用的基本流程_git命令的基本使用

首先下载完git之后打开Git Bash配置你的邮箱和用户名&#xff08;github或gitee&#xff09;&#xff1a;$ git config --global user.name "注册时账号的名字"$ git config --global user.email "注册时使用的邮箱"获取ssh公钥&#xff1a;ssh-keygen -t …

Code Runner for VS Code 突破 2000 万下载量!支持超过 50 种语言

还记得五年前的夏天&#xff0c;我在巨硬写着世界上最好的语言&#xff0c;有时也需要带着游标卡尺写着另一门语言。然而&#xff0c;我对这两门语言都不熟悉&#xff0c;如果能在 VS Code 中方便快捷地运行各种语言&#xff0c;那岂不是很方便&#xff1f;于是&#xff0c;我就…

mysql group where_[MySQL] 测试where group by order by的索引问题

1. select * from test where axx group by b order by c 如何加索引CREATE TABLE index_test (id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(100) NOT NULL DEFAULT ,gid int(11) NOT NULL DEFAULT 0,age int(11) NOT NULL DEFAULT 0,PRIMARY KEY (id)) ENGI…

gpl可以商用吗_一文看懂开源许可证,能不能商用再也不抓瞎

在github中闲逛&#xff0c;宝藏多福利好。不过心里或许总有小忐忑&#xff0c;这么多开源项目&#xff0c;我的产品里能不能用呀&#xff01;其实想知道项目能不能用看下项目的开源许可证就清楚了(即使是非软件产品比如数据、媒体、资料等也可以通过开源许可证知道它们的可用范…

使用 Tye 辅助开发 k8s 应用竟如此简单(一)

最近正巧在进行 Newbe.Claptrap 新版本的开发&#xff0c;其中使用到了 Tye 来辅助 k8s 应用的开发。该系列我们就来简单了解一下其用法。安装 Tye 首先&#xff0c;确保已经正确安装了 netcore 2.1 或以上版本的 dotnet SDK。Tye 目前还处于开发阶段&#xff0c;因此&#xff…

php上传文件很慢的原因_PHP编码安全:上传文件安全

一次性付费进群&#xff0c;长期免费索取教程&#xff0c;没有付费教程。进微信群回复公众号&#xff1a;微信群&#xff1b;QQ群&#xff1a;460500587教程列表 见微信公众号底部菜单 | 本文底部有推荐书籍 微信公众号&#xff1a;计算机与网络安全ID&#xff1a;Computer-net…

RabbitMQ 入门:2. Exchange 和 Queue

上文RabbitMQ 入门&#xff1a;1. Message Broker&#xff08;消息代理&#xff09;提到过 RabbitMQ 实现了 AMQP 这个协议&#xff08;RabbitMQ 所支持的 AMQP 的版本是 0.9.1&#xff09;&#xff0c;这个协议的内容很多&#xff0c;但为了构建入门级的分布式应用&#xff0c…

【组图】地震前线归来--心中的震撼

5.12号获悉家乡发生大地震&#xff0c;不放心在成都的家人朋友&#xff0c;于13日从北京赶回成都&#xff0c;再了解事态严重性&#xff0c;并确定家人情况后&#xff0c;14日与众多志愿者一起从成都出发&#xff0c;取道彭州市&#xff0c;通济镇&#xff0c;白水河镇&#xf…

前端 input怎么显示null_小猿圈WEB前端之HTML5+CSS3面试题(一)

学习是一件非常充实的过程&#xff0c;特别是把自己的乐趣变成工作的时候&#xff0c;很多朋友就喜欢学习web前端&#xff0c;所以学习前端&#xff0c;也希望从事前端的工作&#xff0c;但是因为缺少实战经验&#xff0c;所以很多都是卡在面试这关上&#xff0c;下面小猿圈总结…

聊聊Interlocked.CompareExchange吧?

【导读】私下空余时间一直在研究开源框架&#xff0c;当然也就少不了学习优秀源码&#xff0c;本文也是我查看有关源码时&#xff0c;触碰到我个人知识盲区&#xff0c;做此记录&#xff0c;分享下Interlocked.CompareExchange这玩意用法被讲的很烂了&#xff0c;为何再次被提及…

winform 统计大量数据重复的元素个数_面试系列:十个海量数据处理方法大总结...

本文将简单总结下一些处理海量数据问题的常见方法。当然这些方法可能并不能完全覆盖所有的问题&#xff0c;但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目&#xff0c;方法不一定最优&#xff0c;如果你有更好的处理方…

java 堆栈_Java中线程与堆栈的关系

栈是线程私有的&#xff0c;每个线程都是自己的栈&#xff0c;每个线程中的每个方法在执行的同时会创建一个栈帧用于存局部变量表、操作数栈、动态链接、方法返回地址等信息。每一个方法从调用到执行完毕的过程&#xff0c;就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。其…