VB.net识别' a *'下的字符串。

时间:2017-03-13 06:06:55

标签: regex vb.net

我正在尝试编写一个程序来识别' a *'

下的字符串

PROGRAM LOGIC:通过使用转换图,我想验证状态的输入。  如果状态识别给定的模式规则。然后在不接受的* Else打印字符串下接受打印字符串。

这是我试过的

      Dim regex As Regex = New Regex("\ba*\b")
      Dim match As Match = regex1.Match(txt_input.Text)
 If match.Success Then
        lbl_output.Text = txt_input.Text & " is accepted under rule 'a*'"
 Else
            lbl_output.Text = txt_input.Text & " is not recognized"
        End If

问题是,当我输入字符串时, saa 会接受它。它允许任何角色出现在角色 a 之前。 我希望它只在字符串包含字符a时才接受。例如a,aaa,aaa,

2 个答案:

答案 0 :(得分:1)

为什么不尝试以下正则表达式:

^a+$

<强>代码:

Dim regex As Regex = New Regex("^a+$")
Dim match As Match = regex.Match("aaaa")
If match.Success Then
    Console.WriteLine("match")
Else
    Console.WriteLine("no match")
End If

在这里演示:

Rextester

答案 1 :(得分:0)

尝试以下

Dim regex As Regex = New Regex("\ba\S*\b")