我正在尝试编写一个程序来识别' 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,
答案 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
在这里演示:
答案 1 :(得分:0)
尝试以下
Dim regex As Regex = New Regex("\ba\S*\b")