与正则表达式相比,使用类似VB.NET的操作符有什么优势吗?

与正则表达式相比,使用类似VB.NET的操作符有什么优势吗?,vb.net,regex,sql-like,Vb.net,Regex,Sql Like,除了增强非常简单模式的可读性之外,为什么有人会选择在VB.NET中使用Like运算符而不是正则表达式来进行字符串模式匹配?有什么好处吗?可能吧。如果您想了解Like是如何实现的,那么大部分(全部?)都在Microsoft.VisualBasic.CompilerServices.LikeOperator中,可以在#LikeObject和#LikeString中看到基本内容。看一看,Like显然使用了full-on正则表达式引擎的一个非常严格的子集,而且就像几乎所有与Perl兼容的正则表达式引擎一

除了增强非常简单模式的可读性之外,为什么有人会选择在VB.NET中使用Like运算符而不是正则表达式来进行字符串模式匹配?有什么好处吗?

可能吧。如果您想了解Like是如何实现的,那么大部分(全部?)都在
Microsoft.VisualBasic.CompilerServices.LikeOperator
中,可以在
#LikeObject
#LikeString
中看到基本内容。看一看,
Like
显然使用了full-on正则表达式引擎的一个非常严格的子集,而且就像几乎所有与Perl兼容的正则表达式引擎一样,对于简单表达式来说,有一些繁重的工作可能会做得过火


也就是说,在我看来,这归结于风格。如果您觉得
If(myString,比如“a?bb”)
更具可读性、习惯性,并且与代码的其余部分保持一致,那么就去做吧。在我看来,除上述原因外,任何一种方法都是微优化剧场,特别是如果需要,您可以这样做。

请记住,Like可以重新定义,以便在类和结构上进行自定义比较。在您的问题中,您的意思是专门使用Like进行字符串比较吗?是的,用于字符串比较。我不熟悉你提到的其他用法。有什么例子吗?因为Like是一个一级操作符,所以你可以在你的类定义中重写它,这正是他的意思。请参阅名为的部分。哦,这太奇怪了。在适当的时候,我通常是操作符重载的捍卫者,但这可能足以让我改变主意。