재미 있기 때문에 정규식을 사용하지 않고 문제를 해결하려고했습니다.
I이 방법은이 방법을 사용할 수
Private Function IsValid(ByVal value As String, _
ByVal ParamArray categories As UnicodeCategory()) _
As Boolean
'Create a hashset with valid unicode categories
Dim validSet = New HashSet(Of UnicodeCategory)(categories)
'Group the string value's characters by unicode category
Dim groupedCharacters = value.GroupBy(Function(c) Char.GetUnicodeCategory(c))
'Get an enumerable of categories contained in the string value
Dim actualCategories = groupedCharacters.Select(Function(group) group.Key)
'Return true if the actual categories correspond
'to the array of valid categories
Return validSet.SetEquals(actualCategories)
End Function
문자열 값 지정한 유니 카테고리에 해당하는 문자가 포함되어 있는지 검사하기 방법 (대문자, 소문자, 숫자 ...)
Dim myString As String = "aAbbC"
Dim validString As Boolean = IsValid(myString, _
UnicodeCategory.LowercaseLetter, _
UnicodeCategory.UppercaseLetter)
이 방법을 사용하면 아무 것도 변경하지 않고 대문자, 소문자 및 숫자를 허용 할 수 있습니다. IsValid에 세 번째 인수를 추가하십시오. UnicodeCategory.DecimalDigitNumber
만약 내가 그것을 더 일반적으로 litle 비트로 일반화하고 싶다면 지금 말하면 az AZ, 0-9 및! @ # $가 있어야하는 문자열이 필요합니다. 그것은 네 가지가 있고 다른 성격이 없어야합니다. 정규식에 모든 순열을 입력해야합니까? – Shailendra