Рейтинг:
14
OriginalGriff
Ну, регулярное выражение должно работать. Но... вашему коду все равно, что произойдет, если он сработает или не сработает, потому что все, что вы делаете, - это ставите окно сообщения, если оно не сработает, и продолжаете.
Вероятно, вам нужно добавить предложение Else в обработчик щелчка, чтобы сделать что-то конкретное, когда шаблон действительно совпадает. Но мы не знаем, как должен работать ваш код, поэтому я не могу сказать, что именно.
Я бы предположил, что вы многое выиграете, если будете использовать отладчик, чтобы точно следить за тем, что происходит - мы не можем сделать это за вас!
Так что все будет зависеть от вас.
Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что именно то, что вы ожидали, произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.
Посмотрим, что ты сможешь узнать.
Renille
да, я просто хотел проверить, правильно ли работает код или нет, если да, то я начну создавать функцию того, что произойдет, если входные данные будут действительны. Я попробовал использовать точку останова и увидеть значение isAlpha шаг за шагом из строки, где начинается if в функции isAlpha. но isAlpha всегда возвращает истинное значение независимо от того, что я ввожу, например "qqqqqqqq", isAlpha должен получить ложное значение, верно? Или мне нужно было импортировать библиотеку? Я проверил другой код, и он требует, чтобы я импортировал библиотеку, но когда я использую этот код, он не требует от меня ничего импортировать, поэтому я использую этот
OriginalGriff
Нет! Ваша функция isAlpha допускает использование прописных и строчных букв, а также цифр.
Попробуйте 12+34, и это даст вам " ложь"
Renille
О боже, я думал, что функция вернет true только в том случае, если строка содержит строчные, прописные буквы и цифры, извините за это недоразумение. Спасибо! я нашел способ сделать это сейчас
OriginalGriff
Пожалуйста!
Как предложение, сделать копию Эспрессо
http://www.ultrapico.com/Expresso.htm
Это бесплатно, и он проверяет и генерирует регулярные выражения. Я часто использую его для тестирования и проверки регулярных выражений!
Рейтинг:
0
Patrice T
Ваш код может быть упрощен
Private Function IsAlphaNum(ByVal strInputText As String) As Boolean
Dim IsAlpha As Boolean = False
If System.Text.RegularExpressions.Regex.IsMatch(strInputText, "^[a-zA-Z0-9]+$") Then
IsAlpha = True
Else
IsAlpha = False
End If
Return IsAlpha
End Function
к
Private Function IsAlphaNum(ByVal strInputText As String) As Boolean
Dim IsAlpha As Boolean = False
IsAlpha = System.Text.RegularExpressions.Regex.IsMatch(strInputText, "^[a-zA-Z0-9]+$")
Return IsAlpha
End Function
и
Private Function IsAlphaNum(ByVal strInputText As String) As Boolean
Return System.Text.RegularExpressions.Regex.IsMatch(strInputText, "^[a-zA-Z0-9]+$")
End Function
В случае, если вам нужно более сложное регулярное выражение:
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[
^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[
^]
Регулярное Средство Выражения Эспрессо [
^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[
^]
Renille
спасибо за ваш ответ!
Patrice T
Вы приветствуете