Regex 正则表达式返回错误的结果

Regex 正则表达式返回错误的结果,regex,vb.net,expresso,Regex,Vb.net,Expresso,下面是一个返回错误结果的非常特殊的代码。我使用正则表达式来测试单词的类型-阳性/阴性/规则。我得到了数据库(两个负/正单词文件),用于将单词与数据库进行比较,并返回一个布尔结果 第1部分-枚举:每个单词可以是正/负/规则。 第2部分-正则表达式测试:将每个单词与数据库进行比较。 第3部分-返回函数。 第3部分-Lambda表达式:用于确定正/负单词的数量。 问题 我使用Expresso程序来检查我的代码和正则表达式。当我将单词作为输入插入Expresso和数据库作为模式时,我得到了一个明显不同的

下面是一个返回错误结果的非常特殊的代码。我使用正则表达式来测试单词的类型-阳性/阴性/规则。我得到了数据库(两个负/正单词文件),用于将单词与数据库进行比较,并返回一个布尔结果

第1部分-枚举:每个单词可以是正/负/规则。 第2部分-正则表达式测试:将每个单词与数据库进行比较。 第3部分-返回函数。 第3部分-Lambda表达式:用于确定正/负单词的数量。 问题 我使用Expresso程序来检查我的代码和正则表达式。当我将单词作为输入插入Expresso和数据库作为模式时,我得到了一个明显不同的结果-Expresso返回的肯定单词数量远远低于从
CountPositiveInBody
函数返回的结果

这很奇怪,因为我在Expresso中使用相同的输入和相同的模式,但得到的结果却不同

我在
GetWordType
中插入了一个断点,发现问题在于
Regex.Match
返回true,尽管单词不是正/负

问题
为什么会这样?我的
GetWordType
sub中有问题吗?因为我以前曾多次使用Regex,从未遇到过这种问题。

请给出一些示例。包括正面和负面数据库的简短版本,还显示一些根据这些数据库错误评估的单词和一些正确评估的单词。不!!!!!!!!!!!哇…我太傻了哈哈…它颠倒了…男人坝*!!几个小时来,我一直在试图解决这个问题,我刚刚意识到Regex.Match(cdatabase.PositiveWordsFile,Word)应该是Regex.Match(Word,cdatabase.PositiveWordsFile)。。
Public Enum WordType As Integer
   PositiveWord
   NegativeWord
   RegularWord
End Enum
Private Sub GetWordType()
    If Regex.Match(cDataBases.PositiveWordsFile, Word).Success = True Then
        eWordType = WordType.PositiveWord
    ElseIf Regex.Match(cDataBases.NegativeWordsFile, Word).Success = True Then
        eWordType = WordType.NegativeWord
    Else
        eWordType = WordType.RegularWord
    End If
End Sub
Public Function IsPositive() As Boolean
    If eWordType = WordType.PositiveWord Then Return True Else Return False
End Function

Public Function IsNegative() As Boolean
    If eWordType = WordType.NegativeWord Then Return True Else Return False
End Function
Private Function CountPositiveInBody() As Integer
    Return cArticle.BodyText.FindAll(Function(PBodyWord As SingleWord)
                                         Return PBodyWord.IsPositive
                                     End Function).Count
End Function