小编PKu*_*mar的帖子

已经在其中包含通配符的字符串上的模式匹配

我有一个场景,我想在其中已经有通配符的字符串上使用通配模式进行搜索.用我的话来说,我会说这是一种双向模式匹配要求.

输入和模式字符串可以包含以下任一/两个通配符 - ?表示单个字符,%表示零个或多个字符.假设这些是输入和模式字符串中允许的唯一2个通配符.

例如:

bool IsMatch(字符串输入,字符串模式)//如果输入字符串与模式匹配,则应返回True,否则返回False.

IsMatch("XYZ%","?Y%")//应该返回True

IsMatch("YY?","?Y%")//应该返回True - 输入字符串中的最后一个字符需要单个字符,其中模式匹配Y之后的零个或多个字符(这意味着它包含单个字符匹配为好)

IsMatch("X123","?Y%")//应该返回False - 在模式期望的输入字符串中缺少Y

IsMatch("?Y%","?Y%")//应返回True

IsMatch("%","?Y%")//应返回True - 输入字符串具有表示零个或多个字符的通配符%,并且还可以包含任何字符.在某种程度上,它作为一种模式,本身代表任何大小的任何东西.

我能够找到只讨论在非通配字符串上执行通配模式匹配的文章(例如:Regex).我正在寻找关于算法的指针/想法,因为我很难想出一种可以做这种匹配的算法,因为我开始放下它.感谢您的意见.

c# regex wildcard

8
推荐指数
1
解决办法
530
查看次数

标签 统计

c# ×1

regex ×1

wildcard ×1