5
Dim rc As Boolean = "2" Like "*?<*?"

我不明白为什么 rc 等于 True,肯定2一点也不像*?<*?

上面的模式需要一个字符串

  • 至少三个字符(两个 ? 和一个<
  • 符号在<内部某处。

据我所知,<不是一个特殊字符,它对<Like 运算符意味着什么。

使用 Visual Studio 2010。

4

1 回答 1

1

虽然我不能直接解释为什么2是这样的"*?<*?"

您的查询内容为;

  • *- 匹配 0 个或多个字符
  • ?- 后跟一个字符
  • <- 紧随其后的是<角色
  • *- 后跟 0 个或更多字符
  • ?- 以一个字符结束

对于您想要的逻辑;

在匹配之前至少三个字符,“<”出现在字符串内部的某处

这会导致查询;

Dim rc As Boolean = "2" Like "???*<*"

哪个读;

  • ???- 匹配至少 3 个字符
  • * - 后跟任意数量的其他字符
  • < - 紧随其后的是<角色
  • * - 后跟任意数量的其他字符

我知道这不是一个直接的答案,但我希望它对你有所帮助......

编辑:

在下面回答您的评论。

你想要...吗;

找到一个字符串,其中某处有一个“<”,两边至少有一个字符

这会导致查询;

Dim rc As Boolean = "2" Like "*?<?*"

这将返回 False 作为结果;

Dim rc As Boolean = "<" Like "*?<?*"

然而;

Dim rc As Boolean = "2<2" Like "*?<?*"

会返回真。

我希望这会有所帮助(更多!)

于 2013-02-15T12:11:47.497 回答