热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

匹配准确的单词与任何字符regex-Matchexactwordwithanycharacterregex

Howtomatchexactwordcontainsanyspecialcharacter?如何匹配准确的单词包含任何特殊的字符?$stringFallinlov

How to match exact word contains any special character ?

如何匹配准确的单词包含任何特殊的字符?

$string = 'Fall in love with #PepsiMoji! Celebrate #WorldEmojiDay by downloading our keyboard @ http://bit.ly/pepsiKB & take your text game up a notch. - teacher';

preg_match("/\b#worldemojiday\b/i",$string); //false

I want to match exact word containing any character. Like if I want to match word 'download' in this string, It should return false

我要匹配包含任何字符的确切单词。就像如果我想匹配这个字符串中的单词“download”一样,它应该返回false

preg_match("/\bdownload\b/i",$string); //false

But when I search for downloading, It should return true.

但是当我搜索下载时,它应该返回true。

Thanks

谢谢

2 个解决方案

#1


3  

The problem is with \b word boundary before # non-word character. \b cannot match the position between 2 non-word (or between 2 word) characters, thus, you do not get a match.

问题是在# non-word字符前使用\b字边界。\b不能匹配两个非单词(或两个单词)字符之间的位置,因此不能匹配。

A solution is either to remove the first \b, or use \B (a non-word boundary matching between 2 word or 2 non-word characters) instead of it.

解决方案是删除第一个\b,或者使用\b(两个单词或两个非单词字符之间的非单词边界匹配)代替它。

\B#worldemojiday\b

Or

#worldemojiday\b

See demo (or this one)

见demo(或这个)

Note that \B also matches at the beginning of a string.

注意,\B也匹配字符串的开头。

Here is a way to build a regex dynamically, adding word boundaries only where necessary:

这里有一种动态构建regex的方法,只在必要时添加单词边界:

$srch = "žvolen";
$srch = preg_quote($srch);
if (preg_match('/\w$/u', $srch)) {
    $srch .= '\\b';   
}

if (preg_match('/^\w/u', $srch)) {
    $srch = '\\b' . $srch;
}
echo preg_match("/" . $srch . "/ui", "žvolen is used.");

#2


1  

What about using lookarounds:

如何使用看看:

(?

This ensures, that there's no word character before or after the string. See test at regex101

这可以确保在字符串之前或之后没有单词字符。看到测试regex101


推荐阅读
  • 本篇文章为大家展示了input语句的作用有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。HTML标签 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • Swagger2非全局、无需重复输入的Head参数(Token)配置网络上关于Swagger2的教程多如牛毛,作为关于Swagger加入全 ... [详细]
  • 前端开发中的重要一环:使用原生JavaScript封装jQuery库
    2019独角兽企业重金招聘Python工程师标准用原生js封装jquery的实现base.js***上官清偌*前台调用var$function(_this){return ... [详细]
  • 我是Python的新手,我正在用它进行一个难看的将表数据转换成db的小转换.该程序查看数据,在MySQL中创建一个表,然后将数据读入表中.在本节中,将检查标题行文本以对数据类型做出 ... [详细]
  • mongodb match多条件_《MongoDB》
    1.mongodb正则查询2.mongodb聚合查询3.mongodb管道操作4.mongodb字符串操作5.mongodb算术运算6.mongodb日期处理7.Java连击Mon ... [详细]
author-avatar
笃笃声_965
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有