Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-08-24 05:59:49

编写一个C#程序,实现一个支持通配符匹配的正则表达式引擎子集。该程序需要实现以下功能:

- 支持基本字符匹配;
- 支持 `.`(点号)通配符,表示任意单个字符;
- 支配 `*`(星号)通配符,表示前面的元素可以重复任意次(包括0次);
- 匹配整个字符串,而非部分匹配;

实现函数:

```csharp
bool IsMatch(string text, string pattern)
```

其中:
- `text` 是待匹配的字符串;
- `pattern` 是带有通配符的匹配模式;
- 返回值为 `true` 表示匹配成功,否则失败;

例如:

```csharp
IsMatch("ab", ".*") // 返回 true,表示匹配成功;
IsMatch("aab", "c*a*b") // 返回 true;
IsMatch("aaa", "aaaa") // 返回 true;
IsMatch("abc", "a.*c") // 返回 true;
IsMatch("cba", "a*b") // 返回 false;
```

要求:
- 不得使用 .NET 中的正则表达式类(如 `System.Text.RegularExpressions.Regex`);
- 需要高效处理较长的输入字符串和模式;
- 可使用递归或动态规划实现;

请分析你所选择算法的时间复杂度,并说明优化思路。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: c#题例-2025-08-24 11:33:11

下一篇: c#题例-2025-08-24 00:26:30

精华推荐