Vb.net 显示文件扩展名或常规字符串中包含的无效字符
显示文件扩展名或常规字符串中包含的无效字符 我想将“{t}F@”中的字符{}@作为无效字符显示给用户。我不认为我的错误是{}@不匹配。RegEx模式似乎是有效的 尝试使用Expresso查找我的问题,但没有成功。查看了各种正则表达式无效字符例程,但我的正则表达式模式与这些类似 请告诉我我的错误是什么。提前谢谢Vb.net 显示文件扩展名或常规字符串中包含的无效字符,vb.net,Vb.net,显示文件扩展名或常规字符串中包含的无效字符 我想将“{t}F@”中的字符{}@作为无效字符显示给用户。我不认为我的错误是{}@不匹配。RegEx模式似乎是有效的 尝试使用Expresso查找我的问题,但没有成功。查看了各种正则表达式无效字符例程,但我的正则表达式模式与这些类似 请告诉我我的错误是什么。提前谢谢 Private Sub TestBed() Dim Msg As String Dim MatchChars As String Dim Value As Stri
Private Sub TestBed()
Dim Msg As String
Dim MatchChars As String
Dim Value As String = ".R {t} F@"
Dim RxPattern As String = "^\.[^a-zA-Z0-9\s]+$"
Msg = Value & vbCrLf & vbCrLf
MatchChars = Nothing
For Each CharMatch As Match In Regex.Matches(Value, RxPattern)
If MatchChars Is Nothing Then
MatchChars = CharMatch.ToString
Else
If Not MatchChars.Contains(CharMatch.ToString) Then
MatchChars = MatchChars & CharMatch.ToString
End If
End If
Next
If MatchChars Is Nothing Then
Msg = Msg & Value
Else
Msg = Msg & MatchChars
End If
MsgBox(Msg)
End Sub
此代码不使用编译。请发布实际代码。对不起,格斯伯格。代码已更正,现在应编译我们不在此处签名,因为您的姓名已列在问题下。您的正则表达式匹配整个字符串,而不是单个字符。因为字符串不符合模式,
Regex.Matches
为空,并且不执行每个的。如果您需要每个字符的匹配,这将是Dim RxPattern As String=“[^.a-zA-Z0-9\s]”
。很抱歉签名。这是一个老习惯。