除捕获组的语法外,其它的(?...)语法都不是捕获组的验证

发布时间 - 2026-01-11 00:34:30    点击率:

在一篇正则表达式技术文档中看到下面内容:

“外需要说明的一点是,除(Expression)和(?<name>Expression)语法外,其它的(?...)语法都不是捕获组。”
这个内容是好理解的,但疑惑的是,该文章作者在另一篇相关正则的技术文章中,其中一个这样的实例,着实让我迷惑了一番:

文本内容

<td>a</td><td>b</td> 

正则表达式

(?is)<td>(?:(?!</td>).)*</td> 

注意上面正则表达式的代码,他对“(?!</td>).”进行“强制非捕获组”,我在短信中告诉他,可以这样写:(?is)<td>((?!</td>).)*</td>
两天仍未见他回复,于是在回过头来研究一下他代码,起初我将重点放在“(?!</td>)”这个括号算不算捕获组。但是在看一次上面技术文章的代码我才反应过来。他不是针对(?!</td>)强制为非捕获组,而是将(?!</td>).强制为非捕获组,于是我就做了下面的测试:

文本内容

<td>a</td><td>a</td>

正则表达式

<td>((?!</td>).)*</td><td>(\1)*</td>

匹配结果

<td>a</td><td>a</td>

这就证明,如果不对“(?!</td>).”进行强制为非捕获组,它是会捕获的,而这个捕获,我根本不需要它。
下面,我在测试一下,除了(Expression)和(?<name>Expression)语法外,其它的,如环视,它算不算捕获组。

文本内容

<td>a</td><td>a</td> 

正则表达式

<td>((?!</td>).)*</td><td>(\2.)*</td>

匹配结果:不匹配
如有不同见解,欢迎讨论。


# 捕获组  # 正则表达式  # 我在  # 算不算  # 的是  # 让我  # 是在  # 放在  # 不需要  # 如有  # 他对  # 它是  # 这就  # 两天  # 我才  # 我将  # 见他  # 其中一个  # 仍未  # 就做  # 回过头来 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android okhttputils现在进度显示实例代码  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何实现本地化和多语言支持?(i18n教程)  如何快速上传自定义模板至建站之星?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  大连 网站制作,大连天途有线官网?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何在搬瓦工VPS快速搭建网站?  百度浏览器如何管理插件 百度浏览器插件管理方法  进行网站优化必须要坚持的四大原则  如何快速启动建站代理加盟业务?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何在建站主机中优化服务器配置?  网站制作壁纸教程视频,电脑壁纸网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Android利用动画实现背景逐渐变暗  js实现点击每个li节点,都弹出其文本值及修改  LinuxCD持续部署教程_自动发布与回滚机制  Python面向对象测试方法_mock解析【教程】  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何用IIS7快速搭建并优化网站站点?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  如何快速查询网址的建站时间与历史轨迹?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  🚀拖拽式CMS建站能否实现高效与个性化并存?  如何快速搭建高效简练网站?  高端企业智能建站程序:SEO优化与响应式模板定制开发  高防服务器租用指南:配置选择与快速部署攻略  如何快速生成专业多端适配建站电话?  如何在云主机快速搭建网站站点?  JavaScript如何实现继承_有哪些常用方法  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  使用C语言编写圣诞表白程序  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  JS实现鼠标移上去显示图片或微信二维码