【发布时间】:2018-07-10 11:01:34
【问题描述】:
我尝试使用 LikeOperator.LikeString 功能进行模式匹配,如下所示:
// Usage: bool matchValue = LikeOperator.LikeString(string, pattern, CompareMethod);
bool match = LikeOperator.LikeString("*test*/fe_quet", "(*)test(*)/*", Microsoft.VisualBasic.CompareMethod.Text);
根据文档,上面应该返回 true,但它只是返回 false。我试图用括号转义 (*),但它似乎并没有以这种方式工作。谁能帮我用特殊字符定义模式字符串?
谢谢
【问题讨论】:
-
@WiktorStribiżew 我不明白,这里没有提到这种情况:link 你能帮我输入完整的模式字符串吗?非常感谢
-
@WiktorStribiżew 不幸的是,添加波浪号不会逃脱模式字符串中的星号。它没有工作:(
-
其实我需要将模式字符串中的星号转义,因为它们在模式字符串中具有不同的含义(“零个或多个字符匹配”)。
-
如果您需要正则表达式解决方案,我可以提供正则表达式方面的帮助。但是,一旦您使用字符集
[...],这些通配符在这种情况下就可以了。 -
@WiktorStribiżew 我过去在使用正则表达式时遇到了一些问题,因此我决定使用这个功能!
标签: c# vb.net vba design-patterns