如何在php正则表达式中使用否定查找?

在 php 正则表达式中使用否定查找,可以使用 ?! 运算符。语法:preg_match(‘/表达式 ?! 模式/’, $字符串)。具体案例包括:1. 查找包含数字但不包含字母的字符串:preg_match(‘/d+ ?! [a-za-z]/’, $字符串)。2. 查找不以 “a” 开头的字符串:^(?!a)[ws]+$。3. 查找不包含 “foo” 单词的字符串:/(?!foo)./。4. 查找不包含小写字母的字符串:/(?![a-z])./。

如何在php正则表达式中使用否定查找?

如何在 PHP 正则表达式中使用否定查找?

PHP 中的否定查找是一种强大的工具,用于查找不匹配特定模式的字符串部分。可以使用 ?! 运算符指定否定查找。

语法:

立即学习“PHP免费学习笔记(深入)”;

preg_match('/表达式 ?! 模式/', $字符串);

实际案例:

假设我们需要查找包含数字但不包含字母的字符串。我们可以使用以下正则表达式:

preg_match('/d+ ?! [a-zA-Z]/', '123abc'); // 不匹配preg_match('/d+ ?! [a-zA-Z]/', '12345'); // 匹配

其他示例:

查找不以 “a” 开头的字符串:^(?!a)[ws]+$查找不包含 “foo” 单词的字符串:/(?!foo).*/查找不包含小写字母的字符串:/(?![a-z]).*/

注意事项:

否定查找是一个零宽度断言,它不会消耗输入字符串中的任何字符。否定查找只能用于正则表达式的开头或 (?= 模式) 肯定查找后面。可以连续使用多个否定查找来创建更复杂的模式。

以上就是如何在php正则表达式中使用否定查找?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1248359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 20:26:12
下一篇 2025年12月9日 04:31:45

相关推荐

  • 如何使用php正则表达式进行字符集匹配?

    php 正则表达式提供了一系列字符集匹配符,用于匹配特定的字符模式:【1】方括号 []: 匹配指定字符集内的任何字符;【2】1: 匹配指定字符集之外的字符;【3】d: 匹配数字或与 [0-9] 等价;【4】d: 匹配非数字或与 2 等价;【5】w: 匹配字母数字或与 [a-za-z0-9_] 等价;…

    2025年12月9日
    000
  • 如何使用php正则表达式进行文本分析?

    php 正则表达式用于在文本中搜索特定模式,常用函数包括 preg_match() 和 preg_replace()。语法包括:.(匹配任何字符)、d(匹配数字)、[](字符集)、[^](排除字符集),{}(指定匹配次数)。实战案例:查找以 “ing” 结尾的单词、匹配电子邮…

    2025年12月9日
    000
  • PHP 正则表达式精通:理论与实践相结合的指南

    php 正则表达式教程提供理论与实践,帮助掌握文本处理。语法包括特殊字符(.、^、$等)和量词(d、s、w等)。实战案例包括验证电子邮件地址、提取 html 文本和替换数字为文本。使用 php 函数如 preg_match() 和 preg_replace() 进行操作,例如验证电子邮件地址、提取 …

    2025年12月9日
    000
  • 如何优化php函数中的正则表达式?

    优化 php 函数中的正则表达式可提升性能,以下策略:1. 缓存已编译的正则表达式;2. 避免不必要的子表达式;3. 使用锚点和字符类缩小搜索范围;4. 使用贪婪量词;5. 避免回溯。优化后的正则表达式,如用于验证电子邮件地址的正则表达式,可提高效率。 如何优化 PHP 函数中的正则表达式 正则表达…

    2025年12月9日
    000
  • PHP 函数如何实现正则表达式匹配?

    php正则表达式函数:preg_match() / preg_match_all(): 检查字符串中指定模式的匹配项。preg_replace(): 替换字符串中与指定模式匹配的子字符串。preg_split(): 根据指定模式将字符串拆分为数组。实战案例:表单验证:验证电子邮件地址或电话号码。文本…

    2025年12月9日
    000
  • Linux命令行中locate命令的快速查找方法

    locate命令通过查询数据库快速查找文件,使用-i可忽略大小写,-n限制结果数量,-c统计匹配项,-r支持正则表达式精确匹配,刚创建的文件需运行sudo updatedb更新数据库才能查到。 在Linux命令行中,locate 命令是快速查找文件和目录路径的高效工具。它不直接扫描整个文件系统,而是…

    2025年12月6日 运维
    000
  • 解析复杂正则表达式中边界与回溯问题:以数字匹配为例

    本文探讨了一个复杂正则表达式在数字匹配中遇到的问题,特别是由于单词边界`\b`和不当的量词使用导致某些预期数字未能匹配。教程详细解释了如何通过替换`\b`结构、并引入原子组(possessive quantifiers)来防止不必要的回溯,从而优化正则表达式,确保精确匹配目标数字模式,提升正则匹配的…

    2025年12月6日 后端开发
    000
  • MySQL模糊查询:高效处理含空格和多格式电话号码

    在mysql数据库中,当电话号码字段包含多种格式和空格时,传统的`like`查询可能无法返回预期结果。本文将介绍如何利用`replace`函数在查询时动态移除电话号码中的空格,从而实现准确的模糊匹配。同时,我们还将探讨性能考量及数据标准化等最佳实践,帮助您优化数据库查询和数据质量。 挑战:含空格电话…

    2025年12月6日 后端开发
    000
  • 无XHR请求时提取JavaScript动态生成内容的教程

    本教程探讨了在爬取网页时,当目标内容由javascript动态生成且无明显xhr请求时的数据提取策略。我们将揭示数据可能已内嵌于初始html或js代码中,并演示如何通过检查页面源代码、识别关键标识符来定位并提取这些隐藏的json格式数据,从而实现高效的网页内容抓取。 挑战:JavaScript动态内…

    2025年12月6日 web前端
    000
  • 从动态网页中提取JavaScript生成的内容

    本文旨在提供一种从动态网页中提取由JavaScript生成的内容的方法。通过分析网页的初始加载代码,寻找嵌入其中的JSON数据,我们可以有效地抓取目标信息,即使网页不使用额外的XHR请求。本文将详细介绍如何定位和提取这些数据,并提供相应的示例。 很多现代网站使用JavaScript动态生成内容,这给…

    2025年12月6日 web前端
    000
  • 优化MySQL电话号码字段搜索:解决空格与格式多样性问题

    本文详细介绍了在mysql数据库中,如何高效地搜索包含空格或多种格式的电话号码字段。针对`like`查询无法识别空格字符的问题,核心解决方案是利用`replace`函数在查询时移除字段中的空格,从而实现准确匹配。教程还将探讨更全面的数据清洗策略和性能优化建议,以提升搜索效率和数据质量。 在数据库管理…

    2025年12月6日 后端开发
    000
  • Microsoft Teams如何设置水印保护 Microsoft Teams敏感信息的防泄密方案

    首先在Microsoft 365合规中心创建敏感信息策略,启用屏幕水印并自定义显示用户名、IP、时间戳;接着配置DLP规则识别敏感内容并阻止传输;最后集成IRM实现文档加密与访问控制,全面保护Teams中的数据安全。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSe…

    2025年12月6日 科技
    000
  • 使用.htaccess美化URL:动态链接重写实践

    本教程详细介绍了如何利用apache服务器的`.htaccess`文件和`mod_rewrite`模块,将包含查询参数的动态url(如`game.php?games=final-fantasy-xiv`)重写为更简洁、用户友好的静态路径(如`game/final-fantasy-xiv/`)。文章将…

    2025年12月6日 后端开发
    000
  • JavaScript编译器设计与语法解析原理

    JavaScript虽为解释型语言,但现代引擎如V8通过词法分析将源码转为Token流,再经语法分析构建AST,随后进行语义分析、代码生成与优化,实现类似编译器的处理流程。 JavaScript 并不是一门需要传统“编译”的语言,它是一种解释执行为主的脚本语言,但现代 JavaScript 引擎(如…

    2025年12月6日 web前端
    000
  • Java Matcher.find与Matcher.matches的区别

    Matcher.matches()要求整个字符串完全匹配模式,适用于验证格式;Matcher.find()则查找字符串中任意子串的匹配,适用于提取内容。 在Java中使用正则表达式时,Matcher.find() 和 Matcher.matches() 是两个常用的方法,它们都用于判断字符串是否匹配…

    2025年12月6日 java
    000
  • JavaScript正则表达式高级匹配模式

    JavaScript正则表达式支持捕获组、零宽断言、懒惰/贪婪匹配及原子组优化。1. 命名捕获组用(?…)提取子串;2. 零宽断言如(?=…)和(? JavaScript正则表达式提供了强大的文本匹配能力,除了基本的字符匹配外,还支持多种高级匹配模式。这些模式能帮助开发者更精…

    2025年12月6日 web前端
    000
  • 使用.htaccess重写URL:将动态参数转换为美观路径

    本文详细介绍了如何利用apache服务器的`mod_rewrite`模块和`.htaccess`文件,将包含动态查询参数的url(如`game.php?games=final-fantasy-xiv/`)重写为更简洁、用户友好的静态路径(如`game/final-fantasy-xiv/`)。教程涵…

    2025年12月6日 后端开发
    000
  • PHP内置函数有哪些_PHP常用内置函数功能一览

    PHP内置函数涵盖字符串、数组、文件、日期、数学等方面,如strlen、str_replace处理字符串,count、array_merge操作数组,file_get_contents读取文件,date格式化时间,rand生成随机数,isset判断变量设置,合理使用可提升开发效率。 PHP提供了大量…

    2025年12月5日
    000
  • 如何解决电商平台商品属性管理混乱的问题,使用SprykerProductAttribute模块助你实现灵活高效的数据管理

    最近在负责一个电商平台的商品数据模块开发时,我遇到了一个经典且让人抓狂的问题:如何高效、灵活地管理成千上万种商品的各种属性?我们的商品种类繁多,从服装鞋帽到数码家电,每个品类都有其独特的属性(比如T恤有“颜色”、“尺码”、“材质”,而笔记本电脑则有“CPU”、“内存”、“硬盘容量”)。 遇到的困难:…

    开发工具 2025年12月5日
    000
  • JavaScript金额格式化中多余空格的处理与预防

    本文旨在解决JavaScript函数在处理用户输入的逗号分隔字符串时,可能因多余空格导致格式化输出不准确的问题。我们将探讨导致这些空格出现的原因,并提供使用String.prototype.trim()方法来有效清除输入字符串中首尾空白字符的解决方案,确保数据处理的准确性和输出的整洁性。 在开发we…

    2025年12月5日
    000

发表回复

登录后才能评论
关注微信