子串模糊匹配

本文介绍了一种字符串匹配方法,其中子串sub中的'?'能够匹配一到三个非''字符。算法旨在找到能完整匹配的子串,若存在多种匹配方式,选择匹配字符数最少的一种。当无法完成匹配时,返回-1。给出多个输入输出示例以说明算法的工作原理。
摘要由CSDN通过智能技术生成

从字符串string开始完整匹配子串sub,返回匹配到的字符个数。

sub中如果出现'?'表示可以匹配一到三个除'\0'以外的任意字符。
如果sub还有找不到匹配的字符,则说明不能完整匹配。

如果能完整匹配,返回匹配到的字符个数,如果有多种匹配方式,返回匹配字符数最少的那个,如果不能完整匹配,返回-1
 

 

输入描述:

第一行输入字符串string,长度小于10000

第二行输入子串sub,长度小于100

 

输出描述:

从string开头位置完整匹配sub,匹配到的字符个数。

 

输入例子1:

abcdefg
a?c

 

输出例子1:

3

 

输入例子2:

aabcddefg
a?c

 

输出例子2:

4

 

输入例子3:

aabcddefg
b?e

 

输出例子3:

-1

 

输入例子4:

aabcddefg
a?d

 

输出例子4:

5

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值