NFA灵魂—回溯

本文详细介绍了正则表达式中的回溯原理,通过实例分析了如何在匹配优先量词'?', '*'或'+'时回溯,以及在多选分支、固化分组和占有优先量词中的应用。同时,探讨了' .* '在匹配过程中的行为,并给出了匹配特定场景的正则表达式示例。" 107656971,9207936,PyTorch安装实战:从困难到顺利的全面指南,"['PyTorch', 'Python', '安装教程', 'GPU', 'CUDA']
摘要由CSDN通过智能技术生成

回溯的原理:记录所有可能的表达式分支,尝试匹配,若失败则返回,选择上次正确标记处按新的表达式(备用状态)开始新的尝试匹配。

可以回溯到特性:优先匹配忽略优先的匹配多选结构环视条件判断反向引用固化分组

回溯的两条原则: 1、进行尝试:匹配优先量词(?、*、+、{m, n}) 2、跳过尝试:忽略优先量词(??、*?)
强制回溯时候,执行“后进先出”原则,即从右向左进行回溯

一、当匹配优先量词为’?’时回溯

匹配优先 回溯 未回溯
成功匹配 「ab?c」匹配「ac」 「ab?c」匹配「abc」
不成功匹配 「ab?c」匹配「abx」 「ab?c」匹配「ax」
1、?表示优先匹配量词,0次或1次,尝试匹配
2、回溯-成功匹配:
初始状态:「a」与「 a」匹配成功
备用状态:「ab?,c」+「a,c」–「b?」与「 c」匹配不成功,
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值